Rumah >Java >javaTutorial >Apakah kaedah untuk mengalih keluar pendua daripada tatasusunan java?
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.
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.
rreeeeAtas 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!