Heim  >  Artikel  >  Java  >  Wie erhalte ich mit Java 8 eindeutige Werte aus ArrayList?

Wie erhalte ich mit Java 8 eindeutige Werte aus ArrayList?

WBOY
WBOYnach vorne
2023-09-05 11:01:021356Durchsuche

如何使用Java 8从ArrayList中获取唯一值?

Das Extrahieren eindeutiger Werte aus einer ArrayList wird einfacher und schneller, indem die funktionalen Programmierfunktionen von Java 8 wie Stream API, Streams und Lambda-Ausdrücke genutzt werden. Mit diesen Funktionen können Sie verschiedene Elemente ohne langwierige Iteration oder manuelle Überprüfung extrahieren; Lambda-Ausdrücke erleichtern diese Aufgabe, indem sie es Ihnen ermöglichen, prägnanten und lesbaren Code zu schreiben. Ganz gleich, ob Sie mit großen Datensätzen arbeiten oder einfach nur Duplikate eliminieren, Java 8 bietet leistungsstarke und elegante Lösungen zum Abrufen eindeutiger Werte aus ArrayList

Array-Liste

Die ArrayList-Klasse von Java implementiert die List-Schnittstelle und bietet ähnliche Funktionen wie dynamische Arrays zum Speichern und Betreiben von Elementsammlungen in anpassbaren Arrays. Wenn Elemente zu einem ArrayList-Array hinzugefügt oder daraus entfernt werden, wird seine Größe automatisch angepasst, was Flexibilität und Komfort bietet.

Es gibt mehrere Methoden, um auf Elemente in ArrayList zuzugreifen, sie zu ändern, hinzuzufügen und zu löschen. Auf Elemente kann mit der Methode get() zugegriffen und mit der Methode set() geändert werden. Darüber hinaus können Elemente mit der Methode add() an einer bestimmten Position in der Liste hinzugefügt und Elemente mit der Methode entfernt werden die Methode „remove()“ oder am Ende der Liste Elemente hinzufügen oder entfernen

ArrayList<String> names = new ArrayList<>();

Methode

Java 8 bietet mehrere Methoden zum Suchen eindeutiger Werte in arrayList. Im Folgenden sind zwei Strategien aufgeführt, die häufig verwendet werden.

  • Verwenden Sie Stream und Distinct()

  • Hash-Set verwenden

Beide Methoden bieten eine effiziente Möglichkeit, mithilfe von Java 8-Funktionen eindeutige Werte aus einer ArrayList zu extrahieren. Wählen Sie also einfach die Methode aus, die Ihren Anforderungen und Ihrem Codierungsstil am besten entspricht.

Verwenden Sie „Stream“ und „distinct()“

Konvertieren Sie zunächst die ArrayList in einen Stream, indem Sie die Methode stream() aufrufen. Verwenden Sie dann unique() für diesen Stream, um doppelte Werte herauszufiltern, sodass nur eindeutige Elemente übrig bleiben. Um eindeutige Werte aus dem Stream zu extrahieren, ermöglicht die Methode „collect()“ mit einem entsprechenden Kollektor, diese abzurufen.

Stellen Sie für eine optimale Nutzung von „distinct()“ sicher, dass die Elemente in der ArrayList die Methode „equals()“ korrekt überschrieben haben, um ihre Einzigartigkeit sicherzustellen, und dass sie sich korrekt als eindeutige Elemente definieren

Algorithmus

  • Erstellen Sie eine ArrayList und füllen Sie sie mit Elementen.

  • ArrayList mit der Methode stream() in Stream konvertieren

  • Wenden Sie die Methode unique() auf Stream an, um doppelte Werte zu entfernen und nur eindeutige Werte beizubehalten.

  • Konvertieren Sie den Stream mit der Methode „collect()“ und einem geeigneten Collector zurück in eine ArrayList oder eine andere geeignete Sammlung

  • Diese neue ArrayList enthält nur eindeutige Werte aus ihrer Quell-ArrayList.

Programm

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class UniqueValuesExample {
   public static void main(String[] args) {
      List<String> fruits = new ArrayList<>();
      fruits.add("Apple");
      fruits.add("Orange");
      fruits.add("Banana");
      fruits.add("Orange");
      fruits.add("Mango");
      fruits.add("Apple");

      List<String> uniqueFruits = fruits.stream()
         .distinct()
         .collect(Collectors.toList());

      System.out.println("Unique fruits: " + uniqueFruits);
   }
}

Ausgabe

Unique fruits: [Apple, Orange, Banana, Mango]

Verwenden Sie HashSet

Starten Sie den Editor. Stellen Sie die HashSet-Objekte zu einer Sammlung zusammen, die eindeutige Elemente enthält, und durchlaufen Sie dann jedes Element in der ArrayList einzeln, um es dem HashSet hinzuzufügen, und notieren Sie dabei alle doppelten Werte, die auftreten. Da HashSet keine doppelten Werte zulässt, werden alle doppelten Daten in der ArrayList automatisch von HashSet entfernt

Nachdem Sie die ArrayList iteriert haben, können Sie durch Erstellen eines HashSets, das nur die eindeutigen Werte aus der ursprünglichen Liste enthält, direkt auf diese spezifischen Werte zugreifen oder sie für weiteren Zugriff wieder in eine ArrayList konvertieren.

Diese Methode nutzt die inhärente Eindeutigkeitsbeschränkung von HashSet, um schnell eindeutige Werte aus der ArrayList abzurufen und bietet so eine praktische Lösung in Java 8.

Algorithmus

  • Erstellen Sie eine ArrayList und füllen Sie sie mit Elementen.

  • Erstellen Sie ein HashSet-Objekt.

  • Durchlaufen Sie jedes Element in ArrayList

  • Fügen Sie jedes Element mit der Methode add() zum HashSet hinzu

    • HashSet entfernt automatisch doppelte Werte, da nur eindeutige Werte gespeichert werden.

  • Nach dem Durchlaufen der ArrayList enthält das HashSet nur die eindeutigen Werte aus der ursprünglichen Liste.

  • Sie können das HashSet bei Bedarf wieder in eine ArrayList umwandeln oder es direkt als Zugriffstool verwenden, um darin eindeutige Werte zu finden

Programm

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class UniqueValuesExample {
   public static void main(String[] args) {
      List<String> animals = new ArrayList<>();
      animals.add("Lion");
      animals.add("Elephant");
      animals.add("Tiger");
      animals.add("Elephant");
      animals.add("Giraffe");
      animals.add("Lion");

      Set<String> uniqueAnimals = new HashSet<>(animals);

      System.out.println("Unique animals: " + uniqueAnimals);
   }
}

Ausgabe

Unique animals: [Elephant, Lion, Tiger, Giraffe]

Fazit

In diesem Tutorial haben wir gesehen, wie Java 8 eine effiziente und elegante Lösung zum Extrahieren eindeutiger Werte aus ArrayList bietet. Durch die Nutzung der Methode „unique()“ der Stream-API und das schnelle Entfernen von Duplikaten aus einer ArrayList, um neue eindeutige Elemente zu erhalten, sowie durch die funktionalen Programmierfunktionen für prägnanten und lesbaren Code können Entwickler diese Aufgabe einfach, schnell und effizient erledigen.

HashSet kann auch eine weitere effiziente Möglichkeit bieten, eindeutige Werte zu finden, indem es mit einer ArrayList initialisiert wird. Alle doppelten Elemente werden automatisch entfernt, sodass nur die eindeutigen Einträge darin übrig bleiben.

Die Flexibilität und Bequemlichkeit von Java 8 bei der Bewältigung der Aufgabe, eindeutige Werte aus einer ArrayList zu extrahieren, wird deutlich an diesen Methoden deutlich, die beide die Stream-API- oder HashSet-Implementierung für maximale Produktivität nutzen und Entwicklern dabei helfen, ihre Ziele problemlos zu erreichen.

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit Java 8 eindeutige Werte aus ArrayList?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen