获取集合中某个元素出现的最大次数

 public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        //List<Integer> listInt = new ArrayList<>();
        list.add("1");
        list.add("12");
        list.add("13");
        list.add("1");
        list.add("1");
        list.add("2");
        list.add("23");
        list.add("234");
        int maxCount = getMaxCount(list);
        System.out.println("maxCount:"+maxCount);
    }
 
    /**
     * 获取集合内重复字符串最大的个数
     */
    public static int getMaxCount(List<String> list){
        List<Integer> listInt = new ArrayList<>();
        Map<String,Integer> map = new HashMap<>();
        for(String str:list){
            Integer i = 1; //定义一个计数器,用来记录重复数据的个数
            if(map.get(str) != null){
                i=map.get(str)+1;
            }
            map.put(str,i);
        }

        for (String s : map.keySet()) {
            Integer integer = map.get(s);
            listInt.add(integer);
        }
        System.out.println("重复数据的个数:"+map.toString());
        return listInt.stream().max(Integer::compareTo).get();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值