我有一个 ArrayList<Car>
例如
class Car{
String carName;
int carType;
}
现在,我必须找出列表中是否有同名的汽车。执行此操作的最佳方法是什么?
最佳答案
创建一个比较器:
public class CarComparator implements Comparator<Car>
{
public int compare(Car c1, Car c2)
{
return c1.carName.compareTo(c2.carName);
}
}
现在将ArrayList
中的所有汽车添加到一个SortedSet
中,最好是TreeSet
;如果有重复添加到重复列表:
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
中,您将拥有所有重复项。
关于java - 在 arraylist 中查找重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7281352/