Rumah >Java >javaTutorial >Apakah kaedah untuk mengalih keluar pendua daripada tatasusunan java?

Apakah kaedah untuk mengalih keluar pendua daripada tatasusunan java?

DDD
DDDasal
2023-12-22 16:26:171619semak imbas

Kaedah penyahduplikasi tatasusunan Java termasuk: 1. Menggunakan API Strim Java 8, anda boleh menggunakan kaedah "distinct()" API Strim untuk mengalih keluar elemen pendua dalam tatasusunan 2. Gunakan HashSet, iaitu set itu tidak boleh mengandungi elemen pendua , boleh mengalih keluar elemen pendua dalam tatasusunan 3. Gunakan TreeSet ialah set tersusun dan tidak boleh mengandungi elemen pendua.

Apakah kaedah untuk mengalih keluar pendua daripada tatasusunan java?

Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Di Java, terdapat banyak cara untuk mengalih keluar elemen pendua daripada tatasusunan. Berikut ialah beberapa kaedah biasa:

1 Menggunakan API Strim Java 8

Java 8 memperkenalkan API Strim, yang menjadikan pemprosesan data lebih ringkas dan fleksibel. Anda boleh menggunakan kaedah distinct() bagi Stream API untuk mengalih keluar elemen pendua daripada tatasusunan.

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. Gunakan HashSet

HashSet ialah set yang tidak boleh mengandungi unsur pendua. Anda boleh menggunakannya untuk mengalih keluar elemen pendua dalam tatasusunan. Perlu diingatkan bahawa menggunakan kaedah ini akan mengubah susunan tatasusunan asal.

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. Guna TreeSet

TreeSet adalah set tersusun, ia tidak boleh mengandungi unsur pendua. Berbanding dengan HashSet, menggunakan TreeSet akan mengekalkan susunan tatasusunan asal. Walau bagaimanapun, perlu diingatkan bahawa penggunaan TreeSet memerlukan ruang tambahan untuk menyimpan elemen, jadi ia mungkin lebih mahal dalam penggunaan memori daripada HashSet.

rreeee

Atas ialah kandungan terperinci Apakah kaedah untuk mengalih keluar pendua daripada tatasusunan java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:apakah pengkompil javaArtikel seterusnya:apakah pengkompil java