排重两个list 对象的map属性相同的

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaozhou_zi/article/details/81317054
List<Persons> personsOneList = new ArrayList<>();
Persons onePerson = new Persons();
Map<String,Object> oneProperties = new HashMap<>();
oneProperties.put("id","001");
oneProperties.put("name","jack1");
oneProperties.put("age","13");
onePerson.setProperties(oneProperties);
personsOneList.add(onePerson);

Persons twoPerson = new Persons();
Map<String,Object> twoProperties = new HashMap<>();
twoProperties.put("id","002");
twoProperties.put("name","jack2");
twoProperties.put("age","14");
twoPerson.setProperties(twoProperties);
personsOneList.add(twoPerson);

Persons threePerson = new Persons();
Map<String,Object> threeProperties = new HashMap<>();
threeProperties.put("id","003");
threeProperties.put("name","jack3");
threeProperties.put("age","15");
threePerson.setProperties(threeProperties);
personsOneList.add(threePerson);

List<Persons> personsOtherList = new ArrayList<>();

Persons sevenPerson = new Persons();
Map<String,Object> sevenProperties = new HashMap<>();
sevenProperties.put("id","009");
sevenProperties.put("name","jack3");
sevenPerson.setProperties(sevenProperties);
personsOtherList.add(sevenPerson);

Persons fourPerson = new Persons();
Map<String,Object> fourProperties = new HashMap<>();
fourProperties.put("id","001");
fourProperties.put("name","jack1");
fourPerson.setProperties(fourProperties);
personsOtherList.add(fourPerson);

Persons fivePerson = new Persons();
Map<String,Object> fiveProperties = new HashMap<>();
fiveProperties.put("id","002");
fiveProperties.put("name","jack2");
fivePerson.setProperties(fiveProperties);
personsOtherList.add(fivePerson);

Persons sixPerson = new Persons();
Map<String,Object> sixProperties = new HashMap<>();
sixProperties.put("id","003");
sixProperties.put("name","jack3");
sixPerson.setProperties(sixProperties);
personsOtherList.add(sixPerson);



for(int i = 0;i<personsOneList.size();i++)
{
    for(int j = 0;j<personsOtherList.size();j++)
    {
        int size = 0;
        for (Map.Entry<String, Object> entry : personsOtherList.get(j).getProperties().entrySet()) {
            if (personsOneList.get(i).getProperties().containsKey(entry.getKey()) && personsOneList.get(i).getProperties().containsValue(entry.getValue())) {
                size++;
            }
        }

        if(size == personsOtherList.get(j).getProperties().keySet().size())
        {
            personsOtherList.remove(j);
        }

    }
}

System.out.println(personsOtherList.size());

猜你喜欢

转载自blog.csdn.net/xiaozhou_zi/article/details/81317054