Heim >Java >javaLernprogramm >Welche Methoden gibt es, um Duplikate aus Java-Arrays zu entfernen?
Zu den Java-Array-Deduplizierungsmethoden gehören: 1. Mit der Stream-API von Java 8 können Sie die Methode „distinct()“ der Stream-API verwenden, um doppelte Elemente im Array zu entfernen kann keine doppelten Elemente enthalten. 3. TreeSet ist eine geordnete Menge und kann keine doppelten Elemente enthalten.
Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.
In Java gibt es viele Möglichkeiten, doppelte Elemente aus einem Array zu entfernen. Hier sind einige gängige Methoden:
1. Verwendung der Stream-API von Java 8
Java 8 führte die Stream-API ein, die die Verarbeitung von Daten präziser und flexibler macht. Sie können die Methode „distinct()“ der Stream-API verwenden, um doppelte Elemente aus einem Array zu entfernen.
import java.util.Arrays; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 2, 1, 4, 5, 4}; int[] distinctArray = Arrays.stream(array).distinct().toArray(); System.out.println(Arrays.toString(distinctArray)); // 输出 [1, 2, 3, 4, 5] } }
2. HashSet verwenden
HashSet ist ein Satz, der keine doppelten Elemente enthalten kann. Sie können ihn verwenden, um doppelte Elemente in einem Array zu entfernen. Es ist zu beachten, dass die Verwendung dieser Methode die Reihenfolge des ursprünglichen Arrays ändert.
import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 2, 1, 4, 5, 4}; int[] distinctArray = new int[new HashSet<>(Arrays.asList(array)).size()]; int i = 0; for (int num : array) { if (Arrays.binarySearch(distinctArray, num) < 0) { distinctArray[i++] = num; } } System.out.println(Arrays.toString(distinctArray)); // 输出 [1, 2, 3, 4, 5] } }
3. TreeSet verwenden
TreeSet ist eine geordnete Menge, es darf keine doppelten Elemente enthalten. Im Vergleich zu HashSet behält die Verwendung von TreeSet die Reihenfolge des ursprünglichen Arrays bei. Es ist jedoch zu beachten, dass die Verwendung von TreeSet zusätzlichen Speicherplatz zum Speichern von Elementen erfordert, sodass die Speichernutzung möglicherweise teurer ist als die von HashSet.
import java.util.Arrays; import java.util.TreeSet; import java.util.Set; public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 2, 1, 4, 5, 4}; TreeSet<Integer> set = new TreeSet<>(); for (int num : array) { set.add(num); } int[] distinctArray = new int[set.size()]; int i = 0; for (int num : set) { distinctArray[i++] = num; } System.out.println(Arrays.toString(distinctArray)); // 输出 [1, 2, 3, 4, 5] } }
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es, um Duplikate aus Java-Arrays zu entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!