Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để xóa các phần tử thừa khỏi đối tượng ArrayList trong java?

Bộ giao diện không cho phép các yếu tố trùng lặp. Phương thức add () của giao diện này chấp nhận các phần tử và thêm vào đối tượng Set, nếu việc thêm thành công, nó sẽ trả về true nếu bạn cố gắng thêm một phần tử hiện có bằng phương thức này, thì các thao tác cộng không trả về false.

Do đó, để loại bỏ các phần tử thừa của một đối tượng ArrayList -

  • Lấy / tạo ArrayList cần thiết.

  • Tạo một đối tượng tập hợp trống.

  • Cố gắng thêm tất cả các phần tử của đối tượng ArrayList để thiết lập mục tiêu.

  • Xóa nội dung của ArrayList bằng phương thức clear ().

  • Bây giờ, bằng cách sử dụng phương thức addAll (), hãy thêm lại nội dung của đối tượng set vào ArrayList.

Ví dụ

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class RemovingDuplicates {
   public static void main(String[] args){
      //Instantiating an ArrayList object
      ArrayList<String> list = new ArrayList<String>();
      list.add("JavaFX");
      list.add("Java");
      list.add("JavaFX");
      list.add("OpenCV");
      list.add("Java");
      list.add("JOGL");
      list.add("JOGL");
      list.add("HBase");
      list.add("Flume");
      list.add("HBase");
      list.add("Impala");
      System.out.println("Contents of the Array List : \n"+list);
      //Retrieving Iterator object of the ArrayList class
      Iterator<String> it = list.iterator();
      //Creating an empty Set object
      Set<String> set = new HashSet<String>();
      //Adding elements of the ArrayList to the Set object
      while(it.hasNext()) {
         set.add(it.next());
      }
      //Removing all the elements from the ArrayList
      list.clear();
      //Adding elements of the set back to the list
      list.addAll(set);
      System.out.println("Contents of the Array List after removing duplicate elements: \n"+list);
   }
}

Đầu ra

Contents of the Array List :
[JavaFX, Java, JavaFX, OpenCV, Java, JOGL, JOGL, HBase, Flume, HBase, Impala]
Contents of the Array List after removing duplicate elements:
[JavaFX, Java, OpenCV, JOGL, Flume, Impala, HBase]