Maison  >  Article  >  Java  >  Comment obtenir le dernier élément de LinkedHashSet en Java ?

Comment obtenir le dernier élément de LinkedHashSet en Java ?

WBOY
WBOYavant
2023-08-27 20:45:061415parcourir

Comment obtenir le dernier élément de LinkedHashSet en Java ?

Récupérer le dernier élément de LinkedHashSet en Java signifie récupérer le dernier élément de son ensemble. Bien que Java n'ait pas de méthode intégrée pour aider à récupérer le dernier élément dans LinkedHashSets, il existe plusieurs techniques efficaces qui offrent flexibilité et commodité pour récupérer efficacement ce dernier élément sans rompre l'ordre d'insertion - un must pour les problèmes des développeurs Java résolus efficacement dans son application. . En appliquant efficacement ces stratégies dans leurs projets logiciels, ils peuvent trouver la meilleure solution pour cette exigence.

LinkedHashSet

LinkedHashSet est une structure de données efficace en Java qui combine les fonctionnalités des structures de données HashSet et LinkedList pour conserver le caractère unique des éléments tout en conservant leur ordre une fois insérés.

Il est très rapide lors de l'accès ou de la modification rapide d'éléments en raison d'opérations à temps constant telles que l'insertion, la suppression, la récupération et la modification - utilise des tables de hachage pour des recherches rapides, tandis que les listes doublement liées maintiennent l'ordre pour une accessibilité et une efficacité maximales.

Cette structure est idéale lorsque vous devez itérer les éléments dans l'ordre dans lequel ils ont été ajoutés, offrant ainsi le meilleur ordre d'itération. L'ordre d'itération de LinkedHashSet aide également à maintenir l'absence d'éléments en double tout en gardant l'ordre d'insertion intact.

import java.util.LinkedHashSet;

// ...

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

Méthode

Java permet à plusieurs méthodes de trouver le dernier élément d'un LinkedHashSet, donnant ainsi accès à son dernier membre. Il existe plusieurs façons de procéder.

  • Convertir en ArrayList

  • Parcourir LinkedHashSet

  • API de diffusion Java 8

Méthode 1 : Convertir en ArrayList

ArrayList en Java est une implémentation basée sur un tableau, allouée dynamiquement et redimensionnable, de l'interface List qui fournit un moyen flexible et efficace de stocker et de manipuler des éléments dans une collection.

Lorsque des éléments sont ajoutés ou supprimés, agrandissez ou contractez automatiquement à mesure que les éléments entrent ou sortent. En interne, il gère un tableau pour stocker ses éléments, tout en prenant en charge diverses méthodes d'ajout, de suppression et d'accès aux éléments via l'indexation.

Une façon de récupérer le dernier élément d'un LinkedHashSet est de le convertir en ArrayList via son constructeur, qui accepte une Collection comme paramètre d'entrée, puis d'y accéder et d'en extraire son dernier membre à l'aide de sa méthode get().

Algorithme

  • Créez un LinkedHashSet vide.

  • Ajouter des éléments à LinkedHashSet

  • Convertissez LinkedHashSet en ArrayList en créant une nouvelle ArrayList en utilisant vos données comme argument dans son constructeur.

  • Vérifiez la taille d'une ArrayList.

  • Si la taille dépasse zéro :

    • Utilisez la méthode get() d'ArrayList et passez index(size-1) comme paramètre pour accéder à son dernier élément.

    • Il est maintenant temps d’agir sur nos derniers composants.

  • La gestion du cas de taille = 0 (ce qui signifie que LinkedHashSet est vide) devrait dépendre de vos exigences et considérations spécifiques.

Programme

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);
   }
}

Sortie

Last element: Mango

Méthode 2 : Itérer en parcourant LinkedHashSet

Java permet aux utilisateurs de parcourir un LinkedHashSet en plusieurs étapes, de la création d'un LinkedHashSet vide à l'ajout d'éléments. Après avoir ajouté des éléments, vous pouvez utiliser un itérateur ou une boucle for-each pour initialiser l'itération - les itérateurs peuvent accéder à leurs objets en utilisant la méthode iterator() dans LinkedHashSet, et les boucles for-each peuvent utiliser la méthode hasNext() pour vérifier s'il y a sont des éléments plus multiples

À chaque itération, utilisez la méthode next() pour accéder et récupérer l'élément actuel, et mettez à jour une variable avec la valeur de cet élément ; à la fin de l'itération, la variable doit contenir le dernier élément et vous pouvez utiliser cette variable. pour l'avenir selon les besoins d'exploitation ou de transformation

Algorithme

  • Créez un LinkedHashSet vide.

  • Ajouter des éléments à LinkedHashSet

  • Utilisez un itérateur ou une boucle for-each pour parcourir un LinkedHashSet :

    • Utilisez la méthode iterator() de LinkedHashSet pour créer un itérateur.

    • Utilisez une boucle while et la méthode hasNext() pour identifier s'il y a plus d'éléments.

    • Utilisez la méthode next() dans une boucle pour récupérer l'élément actuel.

  • Mettre à jour la valeur de l'élément actuel dans la variable appropriée à chaque itération

  • Une fois l'itération terminée, la variable contiendra son dernier élément.

Programme

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);
   }
}

Sortie

Last element: 40

Méthode 3 : API Java 8 Stream

Pour obtenir le dernier élément de LinkedHashSet à l'aide de l'API Java 8 Stream, suivez les étapes ci-dessous. Créez un LinkedHashSet vide, ajoutez les éléments, convertissez-le en flux à l'aide de la méthode stream() et l'opération de terminal réduire() utilisant la fonction lambda pour renvoyer la valeur d'identité peut réduire le flux à un seul élément dans ce cas, le lambda renvoie toujours la représentation de l'élément actuel, le deuxième paramètre.

最后,当遇到空 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 中提取最后一个元素。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer