【发布时间】:2011-11-30 19:15:56
【问题描述】:
我有一个包含Car 对象的ArrayList,我想从该ArrayList 中获取所有唯一名称,如String 或仅满足该条件的Car 对象。
EG:
public class Car {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
现在我有 carArray 包含很多 Car 对象。
为了获得唯一的名字,我正在做这样的事情:
Set<String> setOfNames = new HashSet<String>();
for (Car car : carArray) {
setOfNames.add(car.getName());
}
for (String name : setOfNames) {
System.out.println(name);
}
有没有更好/更快的方法来按元素属性过滤 ArrayList?
谢谢!
【问题讨论】:
-
您想从大量
Cars 中获取包含属性值的列表吗?或者您想过滤您的Cars 列表?那么过滤条件是什么? -
我刚试过这段代码,这个哈希集允许我在 setOfNames 中有重复的值?您能否解释一下您是如何设法避免使用此代码重复的。我错过了什么吗?
-
@Fatal:我想要一个包含很多 Car 对象的属性值的列表:D
标签: java arrays optimization arraylist