Program Java untuk Menghapus elemen duplikat dari ArrayList

Dalam contoh ini, kita akan belajar mengubah elemen duplikat dari ArrayList di Java.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman Java berikut:

  • Kelas ArrayList Java
  • Antarmuka Set Java

Contoh 1: Hapus elemen duplikat dari ArrayList menggunakan Set

 import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // convert the arraylist into a set Set set = new LinkedHashSet(); set.addAll(numbers); // delete al elements of arraylist numbers.clear(); // add element from set to arraylist numbers.addAll(set); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Keluaran

 ArrayList dengan elemen duplikat: (1, 2, 3, 4, 1, 3) ArrayList tanpa elemen duplikat: (1, 2, 3, 4)

Dalam contoh di atas, kami telah membuat daftar larik bernama angka. Daftar larik berisi elemen duplikat.

Untuk menghapus elemen duplikat dari daftar larik, kami punya

  • tambahkan semua elemen dari daftar larik untuk disetel
  • kosongkan daftar larik menggunakan clear()metode
  • tambahkan semua elemen dari set ke daftar larik

Di sini, kami telah menggunakan LinkedHashSetuntuk membuat satu set. Itu karena menghapus elemen duplikat dan mempertahankan urutan penyisipan. Untuk mempelajari lebih lanjut, kunjungi Java LinkedHashSet.

Contoh 2: Hapus elemen duplikat dari ArrayList menggunakan Stream

 import java.util.ArrayList; import java.util.Arrays; import java.util.stream.Collectors; import java.util.stream.Stream; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // create a stream from arraylist Stream stream = numbers.stream(); // call the distinct() of Stream // to remove duplicate elements stream = stream.distinct(); // convert the stream to arraylist numbers = (ArrayList)stream.collect(Collectors.toList()); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Keluaran

 ArrayList dengan elemen duplikat: (1, 2, 3, 4, 1, 3) ArrayList tanpa elemen duplikat: (1, 2, 3, 4)

Dalam contoh di atas, kami telah membuat daftar larik bernama angka. Daftar larik berisi elemen duplikat.

Di sini, kami telah menggunakan kelas Stream untuk menghapus elemen duplikat dari daftar larik.

  • numbers.stream () - membuat aliran dari daftar larik
  • stream.distinct () - menghapus elemen duplikat
  • stream.collect (Collectors.toList ()) - mengembalikan daftar dari aliran

Di sini, kami telah menggunakan typecasting untuk mengubah daftar yang dikembalikan menjadi daftar larik.

Artikel yang menarik...