去重list<Map<String,String>>结果中的某个map属性值

public static void main(String args[]){
        Map<String, String> mapNew = new HashMap<String, String>();
        mapNew.put("count", "100");
        mapNew.put("suggest", "天美意");
        mapNew.put("type", "1");

        Map<String, String> map1 = new HashMap<String, String>();
        map1.put("count", "90");
        map1.put("suggest", "天美意女鞋");
        map1.put("type", "1");

        Map<String, String> map2 = new HashMap<String, String>();
        map2.put("count", "80");
        map2.put("suggest", "天美意");
        map2.put("type", "3");

        Map<String, String> map3 = new HashMap<String, String>();
        map3.put("count", "50");
        map3.put("suggest", "天美意鞋");
        map3.put("type", "3");

        List<Map<String,String>> list = new ArrayList<Map<String,String>>();
        list.add(mapNew);
        list.add(map1);
        list.add(map2);
        list.add(map3);

        List<Map<String,String>> tmpList=new ArrayList<Map<String,String>>();
        Set<String> keysSet = new HashSet<String>();
        for(Map<String, String> map : list){
            String keys = map.get("suggest");
            int beforeSize = keysSet.size();
            keysSet.add(keys);
            int afterSize = keysSet.size();
            if(afterSize == beforeSize + 1){
                tmpList.add(map);
            }
        }

     }



期望去重suggest返回一个“天美意”,最后只保留第一次出现的“天美”意,也就是mapNew,map2则给去掉了

list.size()=4 去重后tmpList.size()=3



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值