本文介绍了在arraylist中查找重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
我有一个 ArrayList<Car>
举例
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 class CarComparator implements Comparator<Car>
{
public int compare(Car c1, Car c2)
{
return c1.carName.compareTo(c2.carName);
}
}
现在将 ArrayList
的所有汽车添加到 SortedSet
,最好是 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);
}
}
最后,在您的 duplicates
中,您将拥有所有重复项.
Finally in your duplicates
you will have all the duplicates.
这篇关于在arraylist中查找重复值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!