我有一个保存信息的类的ArrayList
,我想将对象添加到此列表中。我想查看该列表是否已经包含一个数字,然后将其添加到列表中。检查类的ArrayList是否有重复记录
通常情况下,如果它只是一个字符串列表,我只想做这样的事情
if(!list.contains("this string")){
list.add("this string");
}
但由于这是一类,它有每个索引多个变量。
类世界的一个例子是这样的:
private class From{
private long threadID;
private long date;
private String address;
private String body;
private int type;
private long id;
@Override
public boolean equals(Object obj){
if(obj != null){
if(getClass() != obj.getClass()){
return false;
}else{
final From from = (From)obj;
if((this.address != null) ? (from.address != null) : !this.address.equals(from.address)){
return false;
}
}
}else{
return false;
}
return true;
}
}
我想看看是否已经有相同数量的条目,所以我要去通过各项指标必须手动循环和检查,或者是否有更简单的方法来做我想做的事情?
编辑:
我怎么称呼它
HashSet<From> addresses = new HashSet<From>();
From f = new From();
f.setAddress(messages.getString(3));
f.setBody(messages.getString(0));
f.setDate(messages.getLong(2));
f.setThreadId(messages.getLong(1));
f.setType(1);
if(!addresses.contains(f.address)){
addresses.add(f);
}
考虑使用'Map' – 2013-02-21 18:13:10