一、List、Map、Set间转换(含转Map分组)

// List<Org> 转成 Set<Org>集合
Set<Org> orgSet = orgList.stream().collect(Collectors.toSet());
// List<String> 转成 Set<String>集合
Set<String> orgIdSet = orgList.stream().map(Org::getOrgId).collect(Collectors.toSet());/*** List -> Map* 需要注意的是:* (1)toMap 如果集合对象有重复的key,会报错Duplicate key ....(比如user1,user2的id都为1)。*      可以用 (k1,k2)->k1 来设置,如果有重复的key,则保留key1,舍弃key2*/
Map<String, Org> orgMap = orgList.stream().collect(Collectors.toMap(Org::getOrgId, a -> a,(k1,k2)->k1));//两个属性组合作为key
Map<String, Org> orgMap = organinfo.stream().collect(Collectors.toMap(k->k.getOrgId()+k.getOrgName(), k.getOrgName()));// List转成Map分组,并根据student中的name属性进行分组
Map<String,List<Org>> group = orgList.stream().collect(Collectors.groupingBy(Student::getName));

二、List去重

// List<Org> orgList = new ArrayList<>();
// Org实体内可自定义的equals和hash算法
List<Org> list = orgList.stream().distinct().collect(Collectors.toList());Set<Org> orgSet = orgList.stream().collect(Collectors.toSet());

三、最值

List<Org> orgList = new ArrayList<>();
orgList.add(new Org("1","张三"));
orgList.add(new Org("2","李四"));
orgList.add(new Org("0","李四"));
orgList.add(new Org("20","李四"));//最小: 0
String minVal = orgList.stream().map(Org::getOrgId).min(String::compareTo).get();
//最大: 20
String maxval = orgList.stream().map(Org::getOrgId).max(String::compareTo).get();

jdk8中List、map、set间转换(含转Map分组),以及List去重相关推荐

  1. Java中字符串和数字间转换

    String字符串转化为数字 Integer.parseInt(String s) : Integer.valueOf(String s); 例子: String s= "123" ...

  2. SE API第10/11天:集合 ——>ArrayListals、Iterator遍历迭代器、增强for、List集→subList、集合间转换asList、排序sort | Map相关

    一.Java 集合框架 0.介绍: (0)什么是集合 -集合与数组一样,可以保存一组元素,并且提供了操作元素的相关方法,使用更方便. (1)集合框架被设计成要满足以下几个目标: 该框架必须是高性能的. ...

  3. 转换实体类_利用Java反射机制进行Map和JavaBean间转换

    Java中利用反射进行Map和JavaBean间转换 在日常工作中,有时候我们可能会遇到以下这样的情况发生. 例如: (1)后端接受一个参数Map param(可能是前端form维护的一个对象...) ...

  4. jdk8中Map集合中的compute系列方法的使用

    1.compute 现对List 中的map集合中的某个key进行批量的数据处理: package com.company.concurrent.jdk8;import java.util.Array ...

  5. JS 中 Map 与 JSON 转换

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. JSON数据 转 字符串 JSON.stringify(jsondata) 2. 字符串 转 ...

  6. JDK8中Lambda深入理解和Stream实践

    1 lambda描述 Lambda 表达式是一种匿名函数,简单地说,它是没有声明的方法,也即没有访问修饰符.返回值声明和名字. 它可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风格,使 Java ...

  7. JDK7与JDK8中HashMap的实现

    JDK7中的HashMap HashMap底层维护一个数组,数组中的每一项都是一个Entry 1 transient Entry<K,V>[] table; 我们向 HashMap 中所放 ...

  8. Java集合:JDK7与JDK8中HashMap的实现

    JDK7中的HashMap HashMap底层维护一个数组,数组中的每一项都是一个Entry transient Entry<K,V>[] table; 我们向 HashMap 中所放置的 ...

  9. C++ map 使用详解(含C++20新特性)

    目录 访问元素 迭代器 容量 修改操作 查找 std::swap(std::map) std::erase_if (std::map) 简介 map 是一个关联容器,它提供一对一的数据处理能力(其中第 ...

最新文章

  1. Spring之事务管理配置
  2. Redis专题-底层数据结构与使用场景
  3. 解决修改/etc/sudoers文件后:报 语法错误 near line 23
  4. python识别图像数字诊断模块_opencv+python 机读卡识别
  5. Spring Cloud Alibaba发布第二个版本,Spring 发来贺电 1
  6. hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)...
  7. 1086 就不告诉你 (15 分)—PAT (Basic Level) Practice (中文)
  8. Wise UNpacker 0.91A [with Delphi Source]
  9. 总结篇——mysql中使用sql语句操作表字段
  10. paip.终端服务器超出了最大允许连接数的解决
  11. Luogu5889 跳树
  12. 制造业英文简写中文对照之二(轉自ITPUB)
  13. 正弦波形多波形叠加的音频文件生成工具v1.0使用说明
  14. vrp java_HCIA-VRP基础及操作
  15. python检索论文_一种基于Python的音乐检索方法的研究
  16. 我最近在看什么——《蛤蟆先生去看心理医生》
  17. wps 符号操作(仅符号)
  18. 企业微信怎么群发消息到群?企业微信客户群群发有什么限制?
  19. 华东师范学院计算机模拟试卷,华东师范大学计算机组成原理模拟卷
  20. xampp mysql 端口被占用_如何解决XAMPP安装后提示80端口被占用

热门文章

  1. 实验3 Python文件与数据库
  2. Windows Server AD域控服务器升级/迁移(AD域控的五大角色转移)
  3. MSDE环境重置用友SA密码
  4. oracle 11g迅雷下载地址
  5. 物联网导论课设作业安全系统的代码
  6. 【NLP】pyhanlp的安装与使用
  7. 第二篇--学习第一天打卡20190613
  8. CSDN社区图书馆活动之开书大吉(书评一)
  9. NOP法破解简易登录系统
  10. python写圆柱的体积_圆柱的体积课件下载-圆柱的体积ppt免费版-东坡下载