Die Algorithmen arbeiten auf den Collections, setzen also keine speziellen Container voraus.
Sortieren mit sort
Eine häufige Anwendung in der Programmierung ist die Sortierung. Die Klasse Collections stellt eine statische Methode sort zur Verfügung, die mit großer Wahrscheinlichkeit schneller ist, als das, was man sich als Programmierer selbst zusammenbaut.Das folgende Beispiel übernimmt die übergebenen Programmparameter in eine Liste. Diese wird der Methode sort übergeben. Zum Schluss werden die Elemente in einer for-Schleife ausgegeben.
import java.util.*; public class TestSort { public static void main(String[] args) { ListHier wird gezeigt, wie das Programm übersetzt und auf der Befehlszeile aufgerufen wird.aufrufparameter = Arrays.asList(args); Collections.sort(aufrufparameter); for (String string : aufrufparameter ) { System.out.println(string); } } }
$ javac TestSort.java $ java TestSort Willemer busch arnold Arnold johannes Paul Frieda ernst Arnold Frieda Paul Willemer arnold busch ernst johannes
Unordnung stiften mit shuffle
Mit der Methode shuffle kann das Gegenteil von sort erreicht werden. Die Elemente des Containers werden durchgemischt. Nach jedem Aufruf der Methode ist die Reihenfolge anders. Wenn im obigen Beispiel der Aufruf von sort durch shuffle ersetzt wird, kann man mischen.Umdrehen mit reverse
Die Reihenfolge der Elemente in einer Collection lassen sich mit der Methode reverse umdrehen. Auch hier kann das Beispiel von sort wiederverwendet werden. Diesmal wird sort einfach durch reverse ersetzt.Suche in der Liste: binarySearch
Die Methode binarySearch sucht mit den binären Suchverfahren in einer Collection nach einem Element. Naturgemäß findet die Methode nur etwas, wenn die Collection in sortierter Reihenfolge vorliegt. Im Beispiel erreichen wir dies durch den Aufruf von sort.import java.util.*; public class TestSort { public static void main(String[] args) { ListDas Programm liefert als Ergebnis die Position, an der der String "arnold" steht. Dabei ist zu berücksichtigen, dass die Position mit 0 beginnt. Wurde der Suchbegriff nicht gefunden, ist der zurückgegebene Wert negativ.aufrufparameter = Arrays.asList(args); Collections.sort(aufrufparameter); System.out.println(Collections.binarySearch(aufrufparameter, "arnold")); } }