如何从 java 中的 ArrayList 对象中删除多余的元素?
javaobject oriented programmingprogramming
接口集不允许重复元素。该接口的add()方法接受元素并添加到Set对象中,如果添加成功则返回true,如果尝试使用此方法添加现有元素,则添加操作失败返回false。
因此,要删除ArrayList对象的冗余元素−
获取/创建所需的ArrayList。
创建一个空的set对象。
尝试将ArrayList对象的所有元素添加到set目标。
使用clear()方法清除ArrayList的内容。
现在,使用addAll()方法将set对象的内容再次添加到ArrayList中。
示例
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){ //实例化 ArrayList 对象 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("数组列表的内容:\n"+list); //检索ArrayList类的Iterator对象 Iterator<String> it = list.iterator(); //创建一个空的Set对象 Set<String> set = new HashSet<String>(); //将ArrayList的元素添加到Set对象 while(it.hasNext()) { set.add(it.next()); } //从 ArrayList 中删除所有元素 list.clear(); //将集合中的元素添加回列表 list.addAll(set); System.out.println("删除重复元素后数组列表的内容:\n"+list); } }
输出
数组列表的内容: [JavaFX、Java、JavaFX、OpenCV、Java、JOGL、JOGL、HBase、Flume、HBase、Impala] 删除重复元素后的数组列表的内容: [JavaFX, Java, OpenCV, JOGL, Flume, Impala, HBase]