我有一个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);
}