Java ist eine sehr coole Programmiersprache und bietet einem Programmierer zahlreiche Möglichkeiten sein Problem zu lösen. Jedoch denkt man oft zu kompliziert und verliert das Wesentliche aus den Augen. Mein heutiges Problem ist das zufällige Mischen einer beliebigen Liste.
Wer jetzt an eine For each-Schleife oder an (Math.random() * myList.size()) + 1 denkt, sollte unbedingt diesen Artikel lesen! Ich präsentiere die Klasse java.util.Collections…
LinkedList<String> psList = new LinkedList<String>(); // oder //ArrayList<String> psList = new ArrayList<String>(); psList.add("Java"); psList.add("C++"); psList.add("AS 3"); psList.add("PHP");
// List/Map/Set durcheinander mischen Collections.shuffle(psList); //Ausgabe //PHP //Java //AS 3 //C++
// Liste/Map/Set sortieren (alphabetisch) Collections.sort(psList); //Ausgabe: //AS 3 //C++ //Java //PHP
// erstellt eine Liste/Map/Set die typesafe ist (Alle Items den gleichen Typ haben) // Wichtig bei Sets oder Maps! Collection<String> erg1 = Collections.checkedCollection(psList, String.class); List<String> erg2 = Collections.checkedList(psList, String.class);
for (String item : psList) { System.out.println(item); }
Jeder Java-Entwickler sollte die Java API kennen und nutzen!
(JDK 6) http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html
Wer die Klasse java.util.Collections nicht kennt, sollte sich noch diesen Artikel zur Klasse java.util.Arrays durchlesen! Außerdem kann die Klasse Collections auch für die Ableitungen Map und Set verwendet werden.
Kommentar verfassen