我想过滤列表以删除具有重复属性的元素,请参阅下面的代码段:
public class People{
string name;
string priority;
//...getter setter
}
list<People> peopleList = //...get a list of people
在这里,我想展示一个具有唯一名称属性的人员列表,如何操作peopleList
?如果有多个People
对象具有相同的name
,我想检查priority
以确定哪一个应该在最终的唯一列表中。希望我很清楚。
答案 0 :(得分:0)
只需覆盖equals
类的People
方法,并检查name
的相等性。
(我想这里name
不能为空)。
public class People{
string name;
string priority;
//...getter setter
@Override
public boolean equals(Object obj) {
if (obj instanceof People) {
return this.name.equals(((People) obj).getName());
}
return false;
}
}
之后,您只需yourList.contains(people)
。
yourList.indexOf(people)
将为您提供列表中同名人物的位置。