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

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());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值