Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách loại bỏ phần tử thừa từ ArrayList object trong Java


Interface Set không cho phép duplicate. add() của Set thêm element, trả true nếu thành công, false nếu element đã tồn tại.

Để loại bỏ duplicate trong ArrayList:

  • Tạo ArrayList cần xử lý.

  • Tạo Set rỗng.

  • Thêm tất cả element ArrayList vào Set.

  • Xóa ArrayList bằng clear().

  • Thêm lại element từ Set vào ArrayList bằng addAll().

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);    } }

Kết quả

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]