title: Creating a custom sort for an array of integers?
body: <p>Right, so I have a 2 part sorting algorithm. It's all based on an array of 14 random integers. For example:</p>
  
  <pre><code>int[] a = {9,2,4,8,9,4,3,2,8,1,2,7,2,5};
  </code></pre>
  
  <p>Now, the first thing I'm trying to figure out how to do is to count how many a certain number exists in the original array. So, we know that 1 exists once, and 2 exists four times in the original array. But as easy as it is to visually see this, what if we don't have access to the original array. So I need to craft a method that will count how many of each number 1-9 exists and put this in a new array called <strong>count</strong>. So that index 0 in count would represent the integer 1 and would have a value of 1. Index 1 will represent the integer 2 and have a value of 4. And so on and so forth. Here is what I've got so far but I'm stuck. Sorting is pretty challenging for me.</p>
  
  <pre><code>public static void main(String[] args)
  {
    // int[] countFinal = {1,4,1,2,1,0,1,2,2}; // The number of times a number 1-9 appears in a[].
    // int[] sortedFinal = {1,2,2,2,2,3,4,4,5,7,8,8,9,9}; // What we need as a final product.
    int[] a = {9,2,4,8,9,4,3,2,8,1,2,7,2,5};
    //int[] count = {};
    int[] sorted = {};
    countHowMany(a, 1);
    countHowMany(a, 2);
    countHowMany(a, 3);
    countHowMany(a, 4);
    countHowMany(a, 5);
    countHowMany(a, 6);
    countHowMany(a, 7);
    countHowMany(a, 8);
    countHowMany(a, 9);
  
  
  }
  
  public static int countHowMany(int[] array, int value)
  {
    // Gathering a count for how many times a number 1-9 exists and adding it to count[];
    int howManyCount = 0;
    for (int i = 0; i &lt; array.length; i++)
    {
       if (array[i] == value)
       {
          howManyCount++;
       }
    }
    System.out.println(howManyCount);
    count = new int[9];
    count[howManyCount];
    System.out.println(Arrays.toString(count); // Testing the input
    return howManyCount;
  
  
   }  
  </code></pre>
  
  <p>It appears to count the number of times an item in the array exists properly. Now I just gotta figure out how I can add that value into a new array count[] and do it for each countHowMany(). This is the part I'm stuck on.</p>
  
  <p>Once I have figured out count[] I can use it to create sorted[]. Now what sorted is supposed to do is take the data from the original array and count[] and create a new array that sorts it in ascending order and allows duplicates. So, since 1 occurs once and 2 occurs four times, the new array would be sorted[] = {1, 2, 2, 2, 2, ...}</p>
  
  <p>It's a relatively small program and a small amount of integers, so it's ok that I create array's as necessary. The key being that I'm limited to using arrays and cannot use say ArrayLists for this.</p>