Cinq méthodes efficaces de déduplication de tableaux Java révélées
Au cours du processus de développement Java, nous rencontrons souvent des situations où nous devons dédupliquer des tableaux. La déduplication consiste à supprimer les éléments en double dans un tableau et à n'en conserver qu'un seul. Cet article présentera cinq méthodes efficaces de déduplication de tableaux Java et fournira des exemples de code spécifiques.
Méthode 1 : utilisez HashSet pour supprimer les doublons
HashSet est une collection non ordonnée et sans doublon qui supprimera automatiquement les doublons lors de l'ajout d'éléments. Par conséquent, nous pouvons utiliser les caractéristiques de HashSet pour dédupliquer les tableaux.
public static int[] removeDuplicates(int[] arr) { Set<Integer> set = new HashSet<>(); for (int i = 0; i < arr.length; i++) { set.add(arr[i]); } int[] result = new int[set.size()]; int index = 0; for (int num : set) { result[index++] = num; } return result; }
Méthode 2 : utilisez LinkedHashSet pour conserver l'ordre des éléments sans duplication
LinkedHashSet est un ensemble ordonné non dupliqué, qui sera trié en fonction de l'ordre d'insertion des éléments. En utilisant LinkedHashSet, vous pouvez supprimer les doublons et conserver l'ordre des éléments.
public static int[] removeDuplicates(int[] arr) { Set<Integer> set = new LinkedHashSet<>(); for (int i = 0; i < arr.length; i++) { set.add(arr[i]); } int[] result = new int[set.size()]; int index = 0; for (int num : set) { result[index++] = num; } return result; }
Méthode 3 : utiliser l'API Stream pour dédupliquer des tableaux
Java 8 a introduit l'API Stream, qui peut convertir le tableau en flux via la méthode stream(), puis effectuer la déduplication via la méthode distinct().
import java.util.Arrays; import java.util.stream.Collectors; public static int[] removeDuplicates(int[] arr) { return Arrays.stream(arr).distinct().toArray(); }
Méthode 4 : utilisez TreeSet pour le tri et la déduplication
TreeSet est un ensemble ordonné non dupliqué qui trie les éléments selon leur ordre naturel. Les tableaux peuvent être dédupliqués et triés à l'aide d'un TreeSet.
public static int[] removeDuplicates(int[] arr) { Set<Integer> set = new TreeSet<>(); for (int i = 0; i < arr.length; i++) { set.add(arr[i]); } int[] result = new int[set.size()]; int index = 0; for (int num : set) { result[index++] = num; } return result; }
Méthode 5 : Utiliser BitSet pour la déduplication
BitSet est une collection utilisée pour stocker les valeurs de bits et peut également être utilisée pour la déduplication. Nous pouvons supprimer les éléments en double en définissant la valeur du bit correspondant sur true.
public static int[] removeDuplicates(int[] arr) { BitSet bitSet = new BitSet(); for (int num : arr) { bitSet.set(num); } int[] result = new int[bitSet.cardinality()]; int index = 0; for (int i = bitSet.nextSetBit(0); i >= 0; i = bitSet.nextSetBit(i + 1)) { result[index++] = i; } return result; }
Ci-dessus sont cinq méthodes efficaces de déduplication de tableaux Java. Choisir la méthode appropriée en fonction de la situation réelle peut traiter la baie plus efficacement pendant le processus de déduplication. J'espère que cet article vous aidera à résoudre le problème de la déduplication de tableau dans le développement Java !
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!