import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class SortPustaka {

    public static void main(String[] args) {
        int[] angka = {5, 2, 9, 1, 7, 3, 8, 6};
        Arrays.sort(angka);              // primitive: dual-pivot quicksort
        System.out.println("Arrays.sort(int[])              : "
                + Arrays.toString(angka));

        Integer[] kotak = {5, 2, 9, 1, 7, 3, 8, 6};
        Arrays.sort(kotak, Collections.reverseOrder());   // objek: TimSort
        System.out.println("Arrays.sort(Integer[], turun)   : "
                + Arrays.toString(kotak));

        List<String> nama = new java.util.ArrayList<>(
                Arrays.asList("Budi", "siti", "Dewi", "andi"));
        nama.sort(String.CASE_INSENSITIVE_ORDER);   // TimSort + comparator
        System.out.println("List.sort(abai kapital)         : " + nama);

        List<String> defaultUrut = new java.util.ArrayList<>(
                Arrays.asList("Budi", "siti", "Dewi", "andi"));
        Collections.sort(defaultUrut);              // urutan natural String
        System.out.println("Collections.sort(natural)       : " + defaultUrut);
    }
}
