网站首页 > java教程 正文
java8中的map的骚操作。
今天来给大家分享java8中map的骚操作。比如我这边有一个业务逻辑,有一个学生对象的列表,像这样对象包含了学生的姓名和科目和分数,现在要求得每个学生的总成绩,该怎么做?
·常规的做法是定义一个map,然后遍历这个list,往map里面放名字和分数。如果key相同,就把原来的分数和现在的分数进行累加,把累加的结果再存入到这样的key中。如果用map中的merge方法,一行代码就可以搞定。
·merge方法会先判断指定的key是否存在,如果不存在就添加健值对到这样的map中。如果key存在,就会用这样的方法去处理value值。比如这边是把旧的值和新值进行累加,再覆盖掉旧值。
·可以看一下它的参数,这边有一个key、value、if还有一个BiFunction的函数式接口,这边有几个泛型值都是value值的泛型,点进去看一下,这个里面就是接收两个参数,返回这样的结果。这边是把两个数进行累加,再覆盖掉原来的value值。
猜你喜欢
- 2024-10-03 SpringBoot中如何根据JSON数据生成一个动态对象?
- 2024-10-03 边玩手机边学Java----Java基础之Map
- 2024-10-03 Java Stream API:优雅地操作Map(java map stream filter)
- 2024-10-03 聊聊Mybatis的初始化之Mapper.xml映射文件的解析
- 2024-10-03 MapStruct 使用教程, 万字详解(mapstruct enum)
- 2024-10-03 看似简单,在JAVA中如何将一个Object转换成Array
- 2024-10-03 java8函数式Map操作也太强大了吧,1次就帮我省了10多行代码
- 2024-10-03 轻松搞定!用JavaScript将列表转换为Map
- 2024-10-03 告别 BeanUtils,拥抱 MapStruct:高效 Java 对象映射的经典之选
- 2024-10-03 「JavaScript 从入门到精通」11.Map和Set对象
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)