我有一个充满了多年的ArrayList<Integer>
,它从我的数据库中拉出来我想知道如何循环它们以便我可以删除重复项。
在此先感谢,
迪恩
答案 0 :(得分:5)
如果不存在重复项,请使用Set
代替List
。
您可以使用Set
当前正在使用List
的地方,也可以使用Set
删除重复的元素。
Set<Integer> years = new HashSet<Integer>(myOldArrayList);
或者您可以从一个集合转换到另一个集合。我不确定它有什么性能影响:
ArrayList<Integer> years = // populate from database
years = new ArrayList<Integer>(new HashSet<Integer>(years));
答案 1 :(得分:3)
如果订单无关紧要,只需在其中输入Set
,然后在需要时再次返回列表:
Set<Integer> set = new HashSet<Integer>(yourList);
ArrayList<Integer> list = new ArrayList<Integer>(set);
答案 2 :(得分:2)
关闭袖带,new ArrayList<Integer>(new HashSet<Integer>(your_list))
会工作吗?哦,不要忘记排序。