Heim  >  Artikel  >  Java  >  Wie erhalte ich das letzte Element von LinkedHashSet in Java?

Wie erhalte ich das letzte Element von LinkedHashSet in Java?

WBOY
WBOYnach vorne
2023-08-27 20:45:061332Durchsuche

Wie erhalte ich das letzte Element von LinkedHashSet in Java?

Das Abrufen des letzten Elements aus LinkedHashSet in Java bedeutet, das letzte Element in seiner Menge abzurufen. Obwohl Java über keine integrierte Methode zum Abrufen des letzten Elements in LinkedHashSets verfügt, gibt es mehrere effektive Techniken, die Flexibilität und Komfort bieten, um dieses letzte Element effizient abzurufen, ohne die Einfügereihenfolge zu unterbrechen – ein Muss für Java-Entwickler, die in der Anwendung effektiv behandelt werden . Durch die effektive Anwendung dieser Strategien in ihren Softwareprojekten können sie die beste Lösung für diese Anforderung erreichen

LinkedHashSet

LinkedHashSet ist eine effiziente Datenstruktur in Java, die die Funktionalität von HashSet- und LinkedList-Datenstrukturen kombiniert, um die Einzigartigkeit von Elementen beizubehalten und gleichzeitig ihre Reihenfolge beim Einfügen beizubehalten.

Aufgrund konstanter Zeitvorgänge wie Einfügen, Löschen, Abrufen und Ändern ist es sehr schnell, wenn auf Elemente schnell zugegriffen oder diese geändert werden. Es werden Hash-Tabellen für schnelle Suchvorgänge verwendet, während doppelt verknüpfte Listen für maximale Zugänglichkeit und Effizienz sorgen.

Diese Struktur ist ideal, wenn Sie Elemente in der Reihenfolge, in der sie hinzugefügt wurden, iterieren müssen, um die beste Iterationsreihenfolge bereitzustellen. Die Iterationsreihenfolge von LinkedHashSet hilft auch dabei, das Fehlen doppelter Elemente zu verhindern und gleichzeitig die Einfügereihenfolge beizubehalten.

import java.util.LinkedHashSet;

// ...

LinkedHashSet<datatype> set = new LinkedHashSet<>();
</datatype>

Methode

Java ermöglicht mehreren Methoden, das letzte Element aus einem LinkedHashSet zu finden und bietet so Zugriff auf dessen letztes Mitglied. Dafür gibt es mehrere Möglichkeiten.

  • In ArrayList konvertieren

  • Durch LinkedHashSet iterieren

  • Java 8 Streaming API

Methode 1: In ArrayList konvertieren

ArrayList in Java ist eine dynamisch zugewiesene, in der Größe veränderbare Array-basierte Implementierung der List-Schnittstelle, die eine flexible und effiziente Möglichkeit zum Speichern und Bearbeiten von Elementen in einer Sammlung bietet.

Wenn Elemente hinzugefügt oder entfernt werden, werden sie automatisch erweitert oder verkleinert, wenn Elemente ein- oder ausgehen. Intern verwaltet es ein Array zum Speichern seiner Elemente und unterstützt gleichzeitig verschiedene Methoden zum Hinzufügen, Entfernen und Zugreifen auf Elemente durch Indizierung.

Eine Möglichkeit, das letzte Element aus einem LinkedHashSet abzurufen, besteht darin, es über seinen Konstruktor, der eine Sammlung als Eingabeparameter akzeptiert, in eine ArrayList zu konvertieren und dann mit seiner get()-Methode auf sein letztes Element zuzugreifen und daraus zu extrahieren.

Algorithmus

  • Erstellen Sie ein leeres LinkedHashSet.

  • Elemente zu LinkedHashSet hinzufügen

  • Konvertieren Sie LinkedHashSet in ArrayList, indem Sie eine neue ArrayList erstellen und Ihre Daten als Argument in ihrem Konstruktor verwenden.

  • Überprüfen Sie die Größe einer ArrayList.

  • Wenn die Größe Null überschreitet:

    • Verwenden Sie die get()-Methode von ArrayList und übergeben Sie index(size-1) als Parameter, um auf das letzte Element zuzugreifen.

    • Jetzt ist es an der Zeit, an unseren letzten Komponenten zu arbeiten.

  • Der Umgang mit dem Fall size = 0 (was bedeutet, dass LinkedHashSet leer ist) sollte von Ihren spezifischen Anforderungen und Überlegungen abhängen.

Programm

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class LastElementExample {
   public static void main(String[] args) {
      LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
      linkedSet.add("Apple");
      linkedSet.add("Banana");
      linkedSet.add("Orange");
      linkedSet.add("Mango");

      ArrayList<String> arrayList = new ArrayList<>(linkedSet);
      String lastElement = arrayList.get(arrayList.size() - 1);

      System.out.println("Last element: " + lastElement);
   }
}

Ausgabe

Last element: Mango

Methode 2: Iterieren Sie durch Durchlaufen von LinkedHashSet

Java ermöglicht es Benutzern, ein LinkedHashSet in mehreren Schritten zu durchlaufen, von der Erstellung eines leeren LinkedHashSets bis zum Hinzufügen von Elementen. Nach dem Hinzufügen von Elementen können Sie einen Iterator oder eine for-each-Schleife verwenden, um die Iteration zu initialisieren – Iteratoren können mit der iterator()-Methode in LinkedHashSet auf ihre Objekte zugreifen, und for-each-Schleifen können die hasNext()-Methode verwenden, um zu überprüfen, ob sie vorhanden sind sind mehrere Elemente

Verwenden Sie bei jeder Iteration die Methode next(), um auf das aktuelle Element zuzugreifen und es abzurufen und eine Variable mit dem Wert dieses Elements zu aktualisieren. Am Ende der Iteration sollte die Variable das letzte Element enthalten und Sie können die Variable dafür verwenden zukünftige bedarfsgerechte Bedienung oder Bearbeitung

Algorithmus

  • Erstellen Sie ein leeres LinkedHashSet.

  • Elemente zu LinkedHashSet hinzufügen

  • Verwenden Sie einen Iterator oder eine for-each-Schleife, um ein LinkedHashSet zu durchlaufen:

    • Verwenden Sie die iterator()-Methode von LinkedHashSet, um einen Iterator zu erstellen.

    • Verwenden Sie eine While-Schleife und die Methode hasNext(), um festzustellen, ob weitere Elemente vorhanden sind.

    • Verwenden Sie die Methode next() in einer Schleife, um das aktuelle Element abzurufen.

  • Aktualisieren Sie den Wert des aktuellen Elements bei jeder Iteration in die entsprechende Variable

  • Sobald die Iteration abgeschlossen ist, enthält die Variable ihr letztes Element.

Programm

import java.util.Iterator;
import java.util.LinkedHashSet;

public class LastElementExample {
   public static void main(String[] args) {
      LinkedHashSet<Integer> linkedSet = new LinkedHashSet<>();
      linkedSet.add(10);
      linkedSet.add(20);
      linkedSet.add(30);
      linkedSet.add(40);

      Integer lastElement = null;
      Iterator<Integer> iterator = linkedSet.iterator();
      while (iterator.hasNext()) {
         lastElement = iterator.next();
      }

      System.out.println("Last element: " + lastElement);
   }
}

Ausgabe

Last element: 40

Methode 3: Java 8 Stream API

Um das letzte Element von LinkedHashSet mithilfe der Java 8 Stream API abzurufen, führen Sie die folgenden Schritte aus. Erstellen Sie ein leeres LinkedHashSet, fügen Sie die Elemente hinzu, konvertieren Sie es mit der Methode „stream()“ in einen Stream, und die Terminaloperation „reduce()“ mit der Lambda-Funktion zur Rückgabe des Identitätswerts kann den Stream auf ein einzelnes Element reduzieren Lambda gibt immer die Darstellung des aktuellen Elements als zweiten Parameter zurück.

最后,当遇到空 LinkedHashSet 时使用 orElse() 方法,并为 orElse() 情况分配默认值(例如 null),然后包含该 LinkedHashSet 中的最后一个元素以进行进一步的处理操作或处理目的。

算法

  • 创建一个空的 LinkedHashSet。

  • 将元素添加到LinkedHashSet中

  • 使用stream()方法将LinkedHashSet转换为Stream

  • 利用reduce() 终端操作需要两个参数 - 一个始终返回其第二个参数作为其参数的无限 lambda 函数以及 BinaryOperators 的标识值。

  • Reduce 将有效地将数组转换为完整的元素 - 例如,成为 LinkedHashSet 的一部分作为其最终元素。

程序

import java.util.LinkedHashSet;
import java.util.Optional;

public class LastElementExample {
   public static void main(String[] args) {
      LinkedHashSet<String> linkedSet = new LinkedHashSet<>();
      linkedSet.add("Carrot");
      linkedSet.add("Broccoli");
      linkedSet.add("Spinach");
      linkedSet.add("Tomato");

      Optional<String> lastElement = linkedSet.stream().reduce((first, second) -> second);

      if (lastElement.isPresent()) {
         System.out.println("Last vegetable: " + lastElement.get());
      } else {
         System.out.println("LinkedHashSet is empty.");
      }
   }
}

输出

Last vegetable: Tomato

结论

本教程强调了在Java中从LinkedHashSet中检索最后一个元素的有效方法,而不需要专门的方法来完成此任务。通过将其LinkedHashSet转换为ArrayList,并将其索引号作为最后一个元素的索引号进行访问。通过跟踪遇到的最后一个元素来搜索LinkedHashSet可以实现检索

此外,使用 Java 8 的 Stream API 及其归约操作提供了一个优雅的解决方案。这些方法提供了灵活性、效率并维护 LinkedHashSet 的插入顺序。通过转换为 ArrayList、迭代或使用 Java 的 Stream API API,Java 开发人员可以在各种情况下自信地从 LinkedHashSet 中提取最后一个元素。

Das obige ist der detaillierte Inhalt vonWie erhalte ich das letzte Element von LinkedHashSet in Java?. 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