java处理集合工具

public static  Map parseListToMap(Collection list, Function mapper) {
        if (list == null || list.size() == 0) {
            return null;
        }
        Map map = new HashMap<>();
        for (V v : list) {
            map.put(mapper.apply(v), v);
        }
        return map;
    }

    public static  Map> parseListToListMap(List list, Function mapper) {
        if (list == null || list.size() == 0) {
            return null;
        }

        Map> map = new HashMap<>();

        for (V v : list) {
            if (map.containsKey(mapper.apply(v))) {
                map.get(mapper.apply(v)).add(v);
            }
            else {
                List values = new ArrayList<>();
                values.add(v);
                map.put(mapper.apply(v), values);
            }

        }
        return map;
    }
    public static  Map frequencyOfListElements(Collection list, Function mapper) {
        if (null == list || list.size() == 0) {
            return null;
        }
        Map map = new HashMap<>();
        for (V v : list) {
            Integer count = map.get(mapper.apply(v));
            map.put(mapper.apply(v), (null == count) ? 1 : (count + 1));
        }
        return map;
    }

Original: https://www.cnblogs.com/eternality/p/16699600.html
Author: 逆梦
Title: java处理集合工具

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/620416/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java时间戳与Date相互转换、日期格式化、给日期加上指定时长、判断两时间点是否为同一天

    https://blog.csdn.net/heng615975867/article/details/36016617 愿你遍历山河 仍觉人间值得 posted on2019-0…

    Java 2023年5月29日
    071
  • 踩坑系列-Java Calendar

    Calendar是Java util包下的日期Api,其中获取月份是当前月份-1 java;gutter:true; public class Demo {</p> &…

    Java 2023年6月7日
    067
  • NGINX转发端口后却跳转到80端口的解决方法

    问题原因: nginx没有正确的把端口信息传送到后端,没能正确的配置nginx,下面这行是关键 proxy_set_header Host $host:$server_port; …

    Java 2023年5月30日
    053
  • IO流(Properties的使用方法)

    Properties:属性集合类。是一个可以和IO流相结合使用的集合类。 Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。 /* 特殊功能…

    Java 2023年6月5日
    087
  • JavaWeb学习

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    098
  • 计算机网络学习—计算机网络概述

    一. 计算机网络概述 1.1 网络、互连网(互联网)和因特网 网络由若干 结点和连接这些结点的 链路组成。 多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即…

    Java 2023年6月7日
    081
  • Maven 快速入门

    一、简介 Maven 是一个用于构建/管理任何基于Java项目的工具,其本身也是基于Java的 因此需要Java环境。其最初是为了简化 Jakarta Turbine 项目的构建而…

    Java 2023年6月6日
    070
  • Notebook交互式完成目标检测任务

    摘要:本文将介绍一种在Notebook中进行算法开发的新方式,新手也能够快速训练自己的模型。 目标检测是计算机视觉中非常常用且基础的任务,但是由于目标检测任务的复杂性,往往令新手望…

    Java 2023年6月15日
    040
  • 免费正版 IntelliJ IDEA license 详细指南

    一、前言 IntelliJ IDEA 一直是我非常喜欢的 IDE 自从用上之后就回不了头了,但是 Ultimate 版本的费用十分昂贵,其实 JetBrains 自己就提供了6种免…

    Java 2023年6月6日
    0102
  • 从餐厅服务员到一线互联网电商程序员(上)

    本系列文章分三部分: 上: 餐厅、洗浴会所打工经历。中: 大学求学创业经历。下: 互联网从业经历。 本文为第一部分,关注微信公众号 “真香号”,及时阅读 中…

    Java 2023年6月7日
    0110
  • PHP(基本语法)PHP中的Session-登录案例

    文件结构: config.php: php /**1、数据库服务器 */ define(‘DB_HOST’,’localhost’); /**2、数据库用户名 */ define(…

    Java 2023年5月30日
    074
  • Kafka为什么性能这么快?4大核心原因详解

    Kafka的性能快这是大厂Java面试经常问的一个话题,下面我就重点讲解Kafka为什么性能这么快的4大核心原因@mikechen 1、页缓存技术 Kafka 是基于操作系统 的页…

    Java 2023年6月15日
    078
  • 第二周总结-Spring学习

    java;gutter:true;</p> <h2>Spring_day01</h2> <p><strong>今日目标&…

    Java 2023年6月7日
    085
  • MyBatis笔记

    MyBatis MyBatis特性 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及…

    Java 2023年6月16日
    068
  • 记Mybatis动态sql

    写在前面:在此记录下项目中能够经常遇到的MyBatis动态SQL,因为经常容易忘,所以索性就给记录下来,免得每次都要百度搜索好久,需要使用的朋友自取,但是别忘了点赞哦💕 在此仅作部…

    Java 2023年6月14日
    076
  • 【JavaWeb-jQuery】笔记(3)— jQuery中给dom对象绑定事件;通过jQuery实现Ajax请求的处理

    1、jquery 中给 dom对象绑定事件: 语法一: $(选择器).事件名称( 事件的处理函数); $(选择器):定位 dom 对象,dom 对象可以有多个,一同绑定事件 事件名…

    Java 2023年6月8日
    067
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球