列表重复了许多相同的值,我想删除它们。也许有人会检查出了什么问题或者给出了一种新方法来做到这一点?
class Duplicats implements Comparator {
public int compare(Object obj1, Object obj2) {
HashMap<String, String> test1 = (HashMap<String, String>) obj1;
HashMap<String, String> test2 = (HashMap<String, String>) obj2;
if(test1.get("name").equalsIgnoreCase(test2.get("name"))){
return 0;
}
return 1;
}
}
答案 0 :(得分:0)
假设您使用obj1
中的值替换obj2
中的值(或者如果您切换订单则反之亦然):
Map<String, String> objCombined = new HashMap<String, String>();
//Add the 2nd object's items
objCombined.putAll( (HashMap<String, String>) obj2);
//Add the first object's items, replacing duplicates
objCombined.putAll( (HashMap<String, String>) obj1);
如果您希望obj2的值是保留的值,只需切换上面put
次调用的顺序。
答案 1 :(得分:0)
那么从这个位置怎么做?
{
...
HashMap<String, String> controllers = new HashMap<>();
controllers.put("id", id);
controllers.put("name", name);
DevicesList.add(controllers);
}