[Java 8] Suppression en double (et vérification en double) avec Stream

À propos de la suppression en double de la liste à l'aide de Stream # distinct écrire.

Suppression en double

La suppression des doublons peut être effectuée par «distinct» puis passer à la liste avec «collect».

Suppression en double


List<Integer> list = Arrays.asList(1, 1, 2, 3, 4, 5);
//[1, 2, 3, 4, 5]devenir
List<Integer> ans = list.stream().distinct().collect(Collectors.toList());

revérifier

Le code (section commentaire) donné par @swordone était plus intelligent, il est donc préférable de l'utiliser pour la vérification des doublons.

revérifier


List<Integer> list = Arrays.asList(1, 1, 2, 3, 4, 5);
boolean ans = (list.size() == new HashSet<>(list).size());

Ancienne version

Bien que ce soit inefficace, je laisserai pour le moment l'ancienne version qui utilise stream.

revérifier


List<Integer> list = Arrays.asList(1, 1, 2, 3, 4, 5);
boolean ans = (list.size() == list.stream().distinct().count());

Articles que j'ai utilisés comme référence

Recommended Posts

[Java 8] Suppression en double (et vérification en double) avec Stream
[Java] Vérification de l'existence des éléments avec Stream
Vérification de duplication de flux Java8 (écrire proprement à l'aide de Collector)
Conversion de liste Java8 avec Stream map
[Kotlin] Supprimer les fichiers en double [Java]
Vérifier l'utilisation du tas avec Java Flight Recorder
Essayez Java 8 Stream
Vérification de la version Java
API Java Stream
Processus de vérification Java
Étudier Java 8 (Stream)
Terminaison du flux Java
[Java] Traitement de flux
Java 9 Facultatif :: stream
Rendre la ligne Java Stream agréable avec Eclipse
Installez java avec Homebrew
Traitement des listes à comprendre avec des images - java8 stream / javaslang-
[Java] Remarque sur les collecteurs de flux
Vérifier l'implémentation de Java toString ()
Changer de siège avec Java
Installez Java avec Ansible
[Java] Génération de flux API-Stream
[Java] API / carte de flux
Téléchargement confortable avec JAVA
Vérifiez le comportement de Java Intrinsic Locks avec bpftrace
Changer java avec direnv
Pratique de l'API Java8 Stream
À propos de l'opération de réduction du flux Java8
Téléchargement Java avec Ansible
Raclons avec Java! !!
Premiers pas avec les anciens ingénieurs Java (Stream + Lambda)
Vérifiez la couverture avec Codecov dans la configuration Java + Gradle + Wercker
Construire Java avec Wercker
Sortie FizzBuzz avec flux
Résumé approximatif du flux Java8
Conversion Endian avec JAVA
Seul le flux de niveau supérieur peut être parallélisé avec Java Stream.
Comment gérer les exceptions froidement avec Java 8 Stream ou en option
Gérez les exceptions avec fraîcheur avec les expressions lambda Java 8 et l'API Stream
Repenser les modèles de conception avec les expressions lambda Java8 et Stream --Builder pattern -
Traitement des listes à comprendre avec des images --java8 stream / javaslang --bonus
[Java] Vérifiez la différence entre orElse et orElseGet avec IntStream
Convertir un tableau bidimensionnel au format csv avec l'API Java 8 Stream
[Maven] Désactiver l’analyseur d’assembly basé sur .Net avec la vérification des dépendances OWASP [Java]
(Java) BDD facile avec Spectrum?
Utiliser des couches Lambda avec Java
Créer un multi-projet Java avec Gradle
Premiers pas avec Java Collection
Configuration Java avec Spring MVC
Authentification de base avec Java 11 HttpClient
Vérifier la conformité avec les exercices orientés objet
Expérimentons l'expansion en ligne Java
Exécuter un lot avec docker-compose avec Java batch
Vérifiez la valeur CSV avec RSpec
[Template] Connexion MySQL avec Java
Réécrire Java try-catch avec facultatif
Installez Java 7 avec Homebrew (cask)
[Java] Communication JSON avec jackson
Java pour jouer avec Function
Essayez la connexion DB avec Java