LinkedHashSet ist eine Klasse des Java Collection Framework, die die Set-Schnittstelle implementiert und die HashSet-Klasse erweitert. Es handelt sich um eine Sammlungsklasse vom Typ verknüpfte Liste. Es speichert und gibt Objekte in der Reihenfolge des Einfügens zurück. Das Finden der maximalen und minimalen Elemente aus einer LinkedHashSet-Sammlung ist eine der häufigsten Aufgaben, die in Prüfungen und sogar Interviews häufig gestellt werden. In diesem Artikel werden wir verschiedene Möglichkeiten zur Ausführung einer bestimmten Aufgabe untersuchen.
Um das größte und kleinste Element aus einer LinkedHashSet-Sammlung zu finden, verwenden wir die folgende Methode:
Durch LinkedHashSet iterieren
Durch Konvertieren von LinkedHashSet in TreeSet
Durch die Verwendung der Methoden min() und max()
Lassen Sie uns sie einzeln besprechen.
Mit Hilfe der for-each-Schleife können wir die Elemente der LinkedHashSet-Sammlung durchlaufen, um die maximalen und minimalen Elemente zu erhalten.
Das folgende Beispiel demonstriert die praktische Implementierung einer for-each-Schleife, um die größten und kleinsten Elemente aus einem LinkedHashSet zu finden.
Unser erster Schritt besteht darin, das Paket „java.util“ zu importieren, damit wir die Funktionalität der LinkedHashSet-Klasse nutzen können.
Dann erstellen Sie eine LinkedHashSet-Sammlung und speichern einige Elemente mit der integrierten Methode „add()“.
Initialisieren Sie zwei Variablen vom Typ Integer, um die größten und kleinsten Elemente zu speichern.
Erstellen Sie nun ein for-each und definieren Sie darin zwei if-Blöcke. Der erste if-Block sucht nach dem kleinsten Element und der zweite if-Block sucht nach dem größten Element.
Zum Schluss die Ergebnisse ausdrucken und beenden.
import java.util.*; public class MinMax { public static void main(String[] args) { // Creating a LinkedHashSet LinkedHashSet<Integer> lHset = new LinkedHashSet<>(); // Adding elements to the set lHset.add(57); lHset.add(68); lHset.add(79); lHset.add(88); lHset.add(95); // to store the maximum and minimum element Integer minElem = null; Integer maxElem = null; // using for-each loop to find minimum and maximum elements for (Integer element : lHset) { // checking minimum element if (minElem == null || element < minElem) { minElem = element; } // checking maximum element if (maxElem == null || element> maxElem) { maxElem = element; } } System.out.println("List of elements from LinkedHashSet: " + lHset); System.out.println("The Minimum element from LinkedHashSet: " + minElem); System.out.println("The Maximum element from LinkedHashSet: " + maxElem); } }
List of elements from LinkedHashSet: [57, 68, 79, 88, 95] The Minimum element from LinkedHashSet: 57 The Maximum element from LinkedHashSet: 95
TreeSet ist auch eine Klasse des Java Collection Frameworks, das die NavigableSet-Schnittstelle implementiert. Es speichert die Elemente der Menge in einer Baumstruktur und sortiert, was es zur besten Wahl zum Abrufen der größten und kleinsten Elemente aus einem LinkedHashSet macht.
Im folgenden Beispiel verwenden wir TreeSet, um die minimalen und maximalen Elemente von LinkedHashSet abzurufen.
Folgen Sie den ersten beiden Schritten aus dem vorherigen Beispiel.
Dann konvertieren Sie den LinkedHashSet-Satz in einen TreeSet, sodass das erste Element das kleinste und das letzte Element das größte wird.
Verwenden Sie nun die integrierte Methode „first()“, um das kleinste Element zu erhalten, und „last()“, um das größte Element zu erhalten.
import java.util.*; public class MinMax { public static void main(String[] args) { // Creating a LinkedHashSet LinkedHashSet<Integer> lHset = new LinkedHashSet<>(); // Adding elements to the set lHset.add(57); lHset.add(68); lHset.add(79); lHset.add(88); lHset.add(95); System.out.println("List of elements from LinkedHashSet: " + lHset); // converting LinkedHashSet to TreeSet TreeSet<Integer> newTree = new TreeSet<>(lHset); // getting the minimum element System.out.println("The Minimum element from LinkedHashSet: " + newTree.first()); // getting the maximum element System.out.println("The Maximum element from LinkedHashSet: " + newTree.last()); } }
List of elements from LinkedHashSet: [57, 68, 79, 88, 95] The Minimum element from LinkedHashSet: 57 The Maximum element from LinkedHashSet: 95
Eine einfache Möglichkeit, die minimalen und maximalen Elemente aus einem LinkedHashSet abzurufen, ist die Verwendung der integrierten Methoden „min()“ und „max()“. Die Methode „min()“ gibt das kleinste Element im LinkedHashSet zurück und „max()“ gibt das größte Element zurück. Beachten Sie, dass beide Methoden mit „Sets“ funktionieren.
Anstatt die LinkedHashSet-Sammlung zu iterieren und zu transformieren, verwenden wir im folgenden Beispiel die Methoden „min()“ und „max()“, um deren minimale und maximale Elemente zu ermitteln.
import java.util.*; public class MinMax { public static void main(String[] args) { // Creating a LinkedHashSet LinkedHashSet<Integer> lHset = new LinkedHashSet<>(); // Adding elements to the set lHset.add(57); lHset.add(68); lHset.add(79); lHset.add(88); lHset.add(95); System.out.println("List of elements from LinkedHashSet: " + lHset); // getting the minimum element System.out.println("The Minimum element from LinkedHashSet: " + Collections.min(lHset)); // getting the maximum element System.out.println("The Maximum element from LinkedHashSet: " + Collections.max(lHset)); } }
List of elements from LinkedHashSet: [57, 68, 79, 88, 95] The Minimum element from LinkedHashSet: 57 The Maximum element from LinkedHashSet: 95
In diesem Artikel wird zunächst LinkedHashSet vorgestellt. Im nächsten Abschnitt besprechen wir drei Methoden zum Ermitteln der minimalen und maximalen Elemente von LinkedHashSet. Darüber hinaus haben wir etwas über die Grundlagen von TreeSet und einige der integrierten Methoden des Java Collections Framework gelernt, darunter „min()“, „max()“, „first()“ und „last()“.
Das obige ist der detaillierte Inhalt vonWie finde ich das kleinste oder größte Element aus einem LinkedHashSet in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!