package javacodebook.collections.collection.sorted;

import java.util.*;

/**
 *  Ein Beispiel für eine stets sortierte Liste von Integer-Werten.
 */
public class AlwaySortedInteger {

    public static void main(String[] args) {
        Random random = new Random();
        ArrayList list = new ArrayList();

        //Liste mit zufälligen Werten füllen. Dabei werden bereits vorhandene
        //Werte ignoriert
        for(int i = 0; i < 1000; i++) {
            Integer intValue = new Integer(random.nextInt(1000));
            int index = Collections.binarySearch(list, intValue);

            //Ist der Wert von index negativ, so muss der neue Zahlenwert
            //in die Liste eingefügt werden. Sonst ist er bereits vorhanden
            if(index < 0)
                list.add(-index -1, intValue);
        }

        Iterator i = list.iterator();
        while(i.hasNext())
            System.out.println(i.next());
    }
}
