import java.util.*;
import java.util.Random;

class ArraySorting {
public static void main(String[]args) {

    ArrayList<Integer> arr = new ArrayList<Integer>();

    Random generate = new Random();
    for (int nums = 0; nums < 20; nums++) {
      int randomnumbers = generate.nextInt(50);
      arr.add(randomnumbers);
    }

    System.out.println("First list of 20 generated numbers: ");
    System.out.println(arr);
    System.out.println("");

    int dupe = 0; 

    for (int n = 0; n < arr.size(); n++) {
        Integer check1 = arr.get(n); 

        for (int n2 = n+1; n2 < arr.size(); n2++) { 
            Integer check2 = arr.get(n2); 

            //remove second num if two numbers akike
            if (check1.equals(check2)) {
                arr.remove(check2);
                n2 = n2-1;
                dupe = 1; 

            }
        }
        n = n-dupe;
        dupe = 0;
    }

    System.out.println("Duplicates: " + (20 - arr.size()));

    for (int n3 = arr.size(); n3 < 20; ++n3) {
        int randomnumbers = generate.nextInt(50);
        arr.add(randomnumbers);

        //check for duplicates again
        for (int n = 0; n < arr.size(); n++) {
            Integer check1 = arr.get(n); 

            for (int n2 = n+1; n2 < arr.size(); n2++) { 
                Integer check2 = arr.get(n2); 

                if (check1.equals(check2)) {
                    arr.remove(check2);
                    n2 = n2-1;
                    dupe = 1; 
                }
            }
            n = n - dupe;
            dupe = 0;
        }
    }

    //before sort
    System.out.println(arr);
    System.out.println("");

    for(int a=0; a<20; a++){
        for (int b = 0; b < 19; b++) {
            if(arr.set(b,arr.get(b)) > arr.set(b,arr.get(b+1))) {
                int temporary = arr.set(b,arr.get(b));
                arr.set(b,arr.get(b)) = arr.set(b,arr.get(b+1));
                arr.set(b,arr.get(b+1)) = temporary;
            }
        }
    }

    System.out.println("\nSorted Array:\n");
    for (int a = 0; a < 20; a++) {
        System.out.println("Array [" + a + "]: " + arr.set(b,arr.get(b)));
    }


}

}