Table des matières
Liste des tableaux
Méthode
Algorithme
Programme
Sortie
Conclusion
Maison Java javaDidacticiel Comment obtenir des valeurs uniques d'ArrayList en utilisant Java 8 ?

Comment obtenir des valeurs uniques d'ArrayList en utilisant Java 8 ?

Sep 05, 2023 am 11:01 AM

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

Extraire des valeurs uniques d'une ArrayList devient plus facile et plus rapide en tirant parti des fonctionnalités de programmation fonctionnelle de Java 8 telles que l'API Stream, les flux et les expressions lambda. Grâce à ces fonctionnalités, vous pouvez extraire différents éléments sans itération fastidieuse ni inspection manuelle ; les expressions lambda facilitent cette tâche en vous permettant d'écrire du code concis et lisible. Qu'il s'agisse de traiter de grands ensembles de données ou simplement d'éliminer les doublons, Java 8 fournit des solutions puissantes et élégantes pour récupérer des valeurs uniques à partir d'ArrayList.

Liste des tableaux

La classe ArrayList de Java implémente l'interface List, fournissant des fonctions similaires aux tableaux dynamiques pour stocker et exploiter des collections d'éléments dans des tableaux réglables. Lorsque des éléments sont ajoutés ou supprimés d'un tableau ArrayList, sa taille est automatiquement ajustée, offrant flexibilité et commodité.

Il existe plusieurs méthodes pour accéder, modifier, ajouter et supprimer des éléments dans ArrayList. Les éléments sont accessibles à l'aide de la méthode get() et modifiés à l'aide de la méthode set() ; de plus, les éléments peuvent être ajoutés à une position spécifique dans la liste à l'aide de la méthode add() et les éléments peuvent être supprimés à une position spécifique à l'aide de la méthode get(). la méthode Remove(), ou à la fin de la liste. Ajouter ou supprimer des éléments.

ArrayList<String> names = new ArrayList<>();
Copier après la connexion

Méthode

Java 8 propose plusieurs méthodes pour trouver des valeurs uniques dans arrayList. Vous trouverez ci-dessous deux stratégies souvent utilisées.

  • Utilisez Stream et distinct()

  • Utiliser le jeu de hachage

Les deux méthodes offrent un moyen efficace d'extraire des valeurs uniques d'une ArrayList à l'aide des fonctionnalités de Java 8, il vous suffit donc de choisir la méthode qui correspond le mieux à vos besoins et à votre style de codage.

Utilisez Stream et distinct()

Tout d'abord, convertissez ArrayList en flux en appelant sa méthode stream() ; puis utilisez unique() sur ce flux pour filtrer les valeurs en double afin que seuls les éléments uniques restent. Afin d'extraire des valeurs uniques du flux, la méthode collect() avec un collecteur approprié permet de les récupérer.

Pour une utilisation optimale de distinct(), assurez-vous que les éléments de ArrayList ont correctement remplacé la méthode equals() pour garantir leur unicité et se définissent correctement en tant qu'éléments distincts.

Algorithme

  • Créez une ArrayList et remplissez-la d'éléments.

  • Convertir ArrayList en streaming à l'aide de la méthode stream()

  • Appliquez la méthode unique() sur Stream pour éliminer les valeurs en double et ne conserver que les valeurs uniques.

  • Convertissez le flux en ArrayList ou autre collection appropriée à l'aide de la méthode collect() et d'un collecteur approprié

  • Cette nouvelle ArrayList ne contiendra que des valeurs uniques de sa ArrayList source.

Programme

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);
   }
}
Copier après la connexion

Sortie

Unique fruits: [Apple, Orange, Banana, Mango]
Copier après la connexion

Utilisez HashSet

Lancez l'éditeur. Assemblez les objets HashSet dans une collection contenant des éléments uniques, puis parcourez chaque élément de l'ArrayList un par un pour l'ajouter au HashSet, en notant toutes les valeurs en double qui se produisent. Étant donné que HashSet n'autorise pas l'existence de valeurs en double, toutes les données en double dans ArrayList seront automatiquement éliminées par HashSet.

Après avoir itéré l'ArrayList, la création d'un HashSet contenant uniquement les valeurs uniques de la liste d'origine vous permet d'accéder directement à ces valeurs spécifiques ou de les reconvertir en ArrayList pour un accès ultérieur.

Cette méthode tire parti de la contrainte d'unicité inhérente à HashSet pour récupérer rapidement des valeurs uniques de ArrayList, offrant une solution pratique dans Java 8.

Algorithme

  • Créez une ArrayList et remplissez-la d'éléments.

  • Créez un objet HashSet.

  • Parcourez chaque élément dans ArrayList

  • Ajoutez chaque élément au HashSet en utilisant la méthode add()

    • HashSet éliminera automatiquement les valeurs en double car il ne stocke que les valeurs uniques.

  • Après avoir parcouru l'ArrayList, le HashSet contiendra uniquement les valeurs uniques de la liste d'origine.

  • Vous pouvez reconvertir le HashSet en ArrayList si nécessaire, ou l'utiliser directement comme outil d'accès pour y trouver des valeurs uniques

Programme

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);
   }
}
Copier après la connexion

Sortie

Unique animals: [Elephant, Lion, Tiger, Giraffe]
Copier après la connexion

Conclusion

Dans ce tutoriel, nous avons vu comment Java 8 fournit une solution efficace et élégante pour extraire des valeurs uniques d'ArrayList. En tirant parti de la méthode unique() de son API Stream et en éliminant rapidement les doublons d'une ArrayList pour obtenir de nouveaux éléments uniques, ainsi que de ses capacités de programmation fonctionnelle pour un code concis et lisible, les développeurs peuvent effectuer cette tâche facilement, rapidement et efficacement.

HashSet peut également fournir un autre moyen efficace de trouver des valeurs uniques en l'initialisant avec une ArrayList ; tous les éléments en double sont automatiquement éliminés, ne laissant que les entrées uniques à l'intérieur.

La flexibilité et la commodité de Java 8 dans la gestion de la tâche d'extraction de valeurs uniques d'une ArrayList sont clairement évidentes à partir de ces méthodes ; qui exploitent toutes deux son implémentation Stream API ou HashSet pour une productivité maximale, aidant les développeurs à atteindre facilement leurs objectifs.

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation? Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation? Mar 17, 2025 pm 05:35 PM

Le chargement de classe de Java implique le chargement, la liaison et l'initialisation des classes à l'aide d'un système hiérarchique avec Bootstrap, Extension et Application Classloaders. Le modèle de délégation parent garantit que les classes de base sont chargées en premier, affectant la classe de classe personnalisée LOA

Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave? Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave? Mar 17, 2025 pm 05:44 PM

L'article examine la mise en œuvre de la mise en cache à plusieurs niveaux en Java à l'aide de la caféine et du cache de goyave pour améliorer les performances de l'application. Il couvre les avantages de configuration, d'intégration et de performance, ainsi que la gestion de la politique de configuration et d'expulsion le meilleur PRA

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux? Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux? Mar 17, 2025 pm 05:43 PM

L'article discute de l'utilisation de JPA pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux. Il couvre la configuration, la cartographie des entités et les meilleures pratiques pour optimiser les performances tout en mettant en évidence les pièges potentiels. [159 caractères]

Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance? Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance? Mar 17, 2025 pm 05:46 PM

L'article discute de l'utilisation de Maven et Gradle pour la gestion de projet Java, la construction de l'automatisation et la résolution de dépendance, en comparant leurs approches et leurs stratégies d'optimisation.

Mar 17, 2025 pm 05:45 PM

L'article discute de la création et de l'utilisation de bibliothèques Java personnalisées (fichiers JAR) avec un versioning approprié et une gestion des dépendances, à l'aide d'outils comme Maven et Gradle.

See all articles