查找数组列表中的重复值 [英] Finding duplicate values in arraylist
本文介绍了查找数组列表中的重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个的ArrayList<汽车>
例如
class Car{
String carName;
int carType;
}
现在,我已经找到,如果列表中具有相同名称的任何汽车。什么是做到这一点的最好方法是什么?
Now, I have to find if the list has any cars having same name. What is the best way to do this?
推荐答案
创建一个比较器:
public CarComparator implements Comparator<Car>
{
public int compare(Car c1, Car c2)
{
return c1.carName.compareTo(c2.carName);
}
}
现在添加的ArrayList
到的SortedSet
,preferably TreeSet中
;如果有重复添加到副本列表:
Now add all the cars of the ArrayList
to a SortedSet
, preferably TreeSet
; if there are duplicates add to the list of duplicates:
List<Car> duplicates = new ArrayList<Car>();
Set<Car> carSet = new TreeSet<Car>(new CarComparator());
for(Car c : originalCarList)
{
if(!carSet.add(c))
{
duplicates.add(c);
}
}
最后,在你的复制
你将所有的重复。
这篇关于查找数组列表中的重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文