Heim > Java > javaLernprogramm > Statische Methoden für Listen und Sammlungen

Statische Methoden für Listen und Sammlungen

WBOY
Freigeben: 2024-07-16 16:57:12
Original
559 Leute haben es durchsucht

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.

Image description

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 list = Arrays.asList("red", "green", "blue");
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 list = Arrays.asList("gelb", "rot", "grün", "blau");
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 list1 = Arrays.asList(2, 4, 7, 10, 11, 45, 50, 59, 60, 66);
System.out.println("(1) Index: " + Collections.binarySearch(list1, 7));
System.out.println("(2) Index: " + Collections.binarySearch(list1, 9));

Liste list2 = Arrays.asList("blue", "green", "red");
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].

an

Liste list = Arrays.asList("gelb", "rot", "grün", "blau");
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 list = Arrays.asList("gelb", "rot", "grün", "blau");
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 list1 = Arrays.asList("gelb", "rot", "grün", "blau");
Liste list2 = Arrays.asList("gelb", "rot", "grün", "blau");
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 list1 = Arrays.asList("gelb", "rot", "grün", "blau");
Liste list2 = Arrays.asList("white", "black");
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 list1 = Collections.nCopies(5, new GregorianCalendar(2005, 0, 1));

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 list = Arrays.asList("red", "green", "blue");
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 Sammlung = Arrays.asList("red", "green", "blue");
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 Sammlung1 = Arrays.asList("red", "cyan");
Sammlung Sammlung2 = Arrays.asList("red", "blue");
Sammlung Collection3 = Arrays.asList("pink", "tan");
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 Sammlung = Arrays.asList("red", "cyan", "red");
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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage