Die Klasse Collections enthält statische Methoden zum Ausführen allgemeiner Vorgänge in einer Sammlung und einer Liste. In diesem Abschnitt wurden mehrere statische Methoden in der Klasse Collections für Array-Listen vorgestellt. Die Klasse Collections enthält sort, binarySearch, reverse, shuffle, copy , und fill-Methoden für Listen und max, min, disjunkte und Frequenz-Methoden für Sammlungen, wie in der Abbildung unten gezeigt.
Sie können die vergleichbaren Elemente in einer Liste in ihrer natürlichen Reihenfolge mit der Methode compareTo in der Schnittstelle Comparable sortieren. Sie können auch einen Komparator angeben, um Elemente zu sortieren. Der folgende Code sortiert beispielsweise Zeichenfolgen in einer Liste.
Liste
Collections.sort(list);
System.out.println(list);
Die Ausgabe ist [blau, grün, rot].
Der vorangehende Code sortiert eine Liste in aufsteigender Reihenfolge. Um es in absteigender Reihenfolge zu sortieren, können Sie einfach die Methode Collections.reverseOrder() verwenden, um ein Comparator-Objekt zurückzugeben, das die Elemente in umgekehrter Reihenfolge ihrer natürlichen Reihenfolge anordnet. Der folgende Code sortiert beispielsweise eine Liste von Zeichenfolgen in absteigender Reihenfolge.
Liste
Collections.sort(list, Collections.reverseOrder());
System.out.println(list);
Die Ausgabe ist [gelb, rot, grün, blau].
Sie können die Methode binarySearch verwenden, um in einer Liste nach einem Schlüssel zu suchen. Um diese Methode verwenden zu können, muss die Liste in aufsteigender Reihenfolge sortiert werden. Wenn der Schlüssel nicht in der Liste ist, gibt die Methode -(Einfügepunkt +1) zurück. Denken Sie daran, dass sich der Einfügepunkt dort befindet, wo das Element in der Liste stehen würde, wenn es vorhanden wäre. Der folgende Code durchsucht beispielsweise die Schlüssel in einer Liste mit Ganzzahlen und einer Liste mit Zeichenfolgen.
Liste
System.out.println("(1) Index: " + Collections.binarySearch(list1, 7));
System.out.println("(2) Index: " + Collections.binarySearch(list1, 9));
Liste
System.out.println("(3) Index: " +
Collections.binarySearch(list2, "red"));
System.out.println("(4) Index: " +
Collections.binarySearch(list2, "cyan"));
Die Ausgabe des vorherigen Codes ist:
(1) Index: 2
(2) Index: -4
(3) Index: 2
(4) Index: -2
Sie können die Methode reverse verwenden, um die Elemente in einer Liste umzukehren. Der folgende Code zeigt beispielsweise [blau, grün, rot, gelb].
anListe
Collections.reverse(list);
System.out.println(list);
Sie können die Methode shuffle(List) verwenden, um die Elemente in einer Liste zufällig neu anzuordnen. Der folgende Code mischt beispielsweise die Elemente in list.
Liste
Collections.shuffle(list);
System.out.println(list);
Sie können auch die Methode shuffle(List, Random) verwenden, um die Elemente in einer Liste mit einem angegebenen Random-Objekt zufällig neu anzuordnen. Die Verwendung eines angegebenen Random-Objekts ist nützlich, um eine Liste mit identischen Elementfolgen für dieselbe Originalliste zu erstellen. Der folgende Code mischt beispielsweise die Elemente in list.
Liste
Liste
Collections.shuffle(list1, new Random(20));
Collections.shuffle(list2, new Random(20));
System.out.println(list1);
System.out.println(list2);
Sie werden sehen, dass Liste1 und Liste2 vor und nach dem Mischen dieselbe Reihenfolge von Elementen haben.
Sie können die Methode copy(det, src) verwenden, um alle Elemente aus einer Quellliste in eine Zielliste im selben Index zu kopieren. Die Zielliste muss genauso lang sein wie die Quellliste. Wenn es länger ist, sind die übrigen Elemente in der Quellliste nicht betroffen. Zum Beispiel das Folgende
Code kopiert list2 nach list1.
Liste
Liste
Collections.copy(list1, list2);
System.out.println(list1);
Die Ausgabe für list1 ist [weiß, schwarz, grün, blau]. Die Methode copy führt eine flache Kopie durch: Nur die Referenzen der Elemente aus der Quellliste werden kopiert.
Sie können die Methode nCopies(int n, Object o) verwenden, um eine unveränderliche Liste zu erstellen, die aus n Kopien des angegebenen Objekts besteht. Der folgende Code erstellt beispielsweise eine Liste mit fünf Calendar-Objekten.
Liste
Die mit der Methode nCopies erstellte Liste ist unveränderlich, sodass Sie der Liste keine Elemente hinzufügen, entfernen oder aktualisieren können. Alle Elemente haben die gleichen Referenzen.
Sie können die Methode fill(List list, Object o) verwenden, um alle Elemente in der Liste durch das angegebene Element zu ersetzen. Der folgende Code zeigt beispielsweise [schwarz, schwarz, schwarz] an.
Liste
Collections.fill(list, "black");
System.out.println(list);
Sie können die Methoden max und min verwenden, um die maximalen und minimalen Elemente in einer Sammlung zu finden. Die Elemente müssen mithilfe der Schnittstelle Comparable oder der Schnittstelle Comparator vergleichbar sein. Der folgende Code zeigt beispielsweise die größten und kleinsten Zeichenfolgen in einer Sammlung an.
Collection
System.out.println(Collections.max(collection));
System.out.println(Collections.min(collection));
Die Methode disjoint(collection1, collection2) gibt true zurück, wenn die beiden Sammlungen keine gemeinsamen Elemente haben. Im folgenden Code gibt beispielsweise disjoint(collection1,collection2) false zurück, aber disjoint(collection1,collection3) gibt true zurück .
Collection
Sammlung
Sammlung
System.out.println(Collections.disjoint(collection1,collection2));
System.out.println(Collections.disjoint(collection1,collection3));
Die Methode Frequency(collection, element) ermittelt die Anzahl der Vorkommen des Elements in der Sammlung. Beispielsweise gibt frequenz(sammlung, "rot") im folgenden Code 2 zurück.
Collection
System.out.println(Collections.frequenz(collection, "red"));
Das obige ist der detaillierte Inhalt vonStatische Methoden für Listen und Sammlungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!