本文介绍了查找数组列表中的重复值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个的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.carNamepareTo(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); } }最后,在你的复制你将所有的重复。
更多推荐
查找数组列表中的重复值
发布评论