Chương trình Java để loại bỏ các phần tử trùng lặp khỏi ArrayList

Trong ví dụ này, chúng ta sẽ học cách chuyển đổi phần tử trùng lặp từ ArrayList trong Java.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Java sau:

  • Lớp Java ArrayList
  • Giao diện bộ Java

Ví dụ 1: Xóa các phần tử trùng lặp khỏi ArrayList bằng 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); ) )

Đầu ra

 ArrayList có các phần tử trùng lặp: (1, 2, 3, 4, 1, 3) ArrayList không có các phần tử trùng lặp: (1, 2, 3, 4)

Trong ví dụ trên, chúng ta đã tạo một danh sách mảng có tên là các số. Danh sách mảng chứa các phần tử trùng lặp.

Để xóa các phần tử trùng lặp khỏi danh sách mảng, chúng tôi có

  • thêm tất cả các phần tử từ danh sách mảng vào bộ
  • làm trống danh sách mảng bằng clear()phương thức
  • thêm tất cả các phần tử từ tập hợp vào danh sách mảng

Ở đây, chúng tôi đã sử dụng LinkedHashSetđể tạo một tập hợp. Đó là bởi vì nó loại bỏ các phần tử trùng lặp và duy trì thứ tự chèn. Để tìm hiểu thêm, hãy truy cập Java LinkedHashSet.

Ví dụ 2: Loại bỏ các phần tử trùng lặp khỏi ArrayList bằng 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); ) )

Đầu ra

 ArrayList có các phần tử trùng lặp: (1, 2, 3, 4, 1, 3) ArrayList không có các phần tử trùng lặp: (1, 2, 3, 4)

Trong ví dụ trên, chúng ta đã tạo một danh sách mảng có tên là các số. Danh sách mảng chứa các phần tử trùng lặp.

Ở đây, chúng tôi đã sử dụng lớp Stream để loại bỏ các phần tử trùng lặp khỏi danh sách mảng.

  • number.stream () - tạo một luồng từ danh sách mảng
  • stream.distinction () - loại bỏ các phần tử trùng lặp
  • stream.collect (Collectors.toList ()) - trả về một danh sách từ luồng

Ở đây, chúng tôi đã sử dụng cách đánh máy để chuyển đổi danh sách trả về thành một danh sách mảng.

thú vị bài viết...