Heim > Java > javaLernprogramm > Welche Methoden gibt es, um Duplikate aus Java-Arrays zu entfernen?

Welche Methoden gibt es, um Duplikate aus Java-Arrays zu entfernen?

DDD
Freigeben: 2023-12-22 16:26:17
Original
1623 Leute haben es durchsucht

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.

Welche Methoden gibt es, um Duplikate aus Java-Arrays zu entfernen?

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]  
    }  
}
Nach dem Login kopieren

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]  
    }  
}
Nach dem Login kopieren

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]  
    }  
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage