只有一次添加的项目我做了我自己的自定义的ArrayList是这样的:定制的ArrayList
public class Points {
String hoodName;
Double points;
Integer hoodId;
public Points(String hN, Double p, Integer hI){
hoodName = hN;
points =p;
hoodId = hI;
}
public Double getPoints() {
return points;
}
public Integer getHoodId() {
return hoodId;
}
public String getHoodName() {
return hoodName;
}
}
当我从它添加项目进行了多次我的JSON API添加数据。我试过这个代码新增的项目只有一次吧:
if (!points.contains(jsonObject.getString("hood_name"))) {
points.add(new Points(jsonObject.getString("hood_name"), jsonObject.getDouble("points"), jsonObject.getInt("hood_id")));
}
如果也试过这样:
if (!points.contains(Points(jsonObject.getString("hood_name"), jsonObject.getDouble("points"), jsonObject.getInt("hood_id")))) {
points.add(new Points(jsonObject.getString("hood_name"), jsonObject.getDouble("points"), jsonObject.getInt("hood_id")));
}
此代码的工作,当我使用的ArrayList或ArrayList<Integer>
而不是当我使用ArrayList<Points>
谁能解释我如何能避免我的列表中的重复?
hoodName是在列表中只有一个属性,你可以不检查包含与对象的一个属性,创建'Points'对象,覆盖等于在'Points'那么你的代码将被还曾 –
方法,看你的代码,看起来像Point的顺序并不重要?在这种情况下,使用Map或HashMap可能会更好。 – tingyik90
@ tingyik90没有顺序并不重要 –