// 利用stream进行类型转化
List<String> stringList = new ArrayList<>();
stringList.add("a11");
stringList.add("b11");
stringList.add("c11");
stringList.add("d11");
stringList.add("e11");
List<Map<String,String>> stringList1 = stringList.stream().map(item->{Map<String,String> map = new HashMap<>();map.put("name", item.toUpperCase());return map;}
).collect(Collectors.toList());
List<Long> longList = new ArrayList<>();longList.add(1L);longList.add(2L);longList.add(3L);List<String> stringList = longList.stream().map(item -> String.valueOf(item.intValue())).collect(Collectors.toList());System.out.println(stringList);
// 将实体类的list,转换为map
List<User> userList = new LinkedList<>();
Map<Integer,User> userMap = userList.stream().collect(Collectors.toMap(item -> item.getId(),// 操做map的keyitem-> item,// 操做map的value(v1,v2)->v1));
// 更简单的方式
Map<Integer,User> userMap1 = userList.stream().collect(Collectors.toMap(item -> item.getId(),// 操做map的keyFunction.identity()));// 适用于map的value是item的自己// List<Integer>  -> List<String>
List<Integer> sourceList = new ArrayList<>();
List<String> targetList = sourceList.stream().map(String::valueOf).collect(Collectors.toList());// List<String>  -> List<Integer>
List<String> sourceList = new ArrayList<>();
List<Integer> targetList = sourceList.stream().map((str -> Integer.parseInt(str))).collect(Collectors.toList());// List<String> 与 String转换
List<String> sourceList = new ArrayList<>();
String targetStr = String.join(",",sourceList );// 第一个参数为造成字符串后的链接符
// String 与 List<String>转换
List<String> targetList = Arrays.asList(targetStr.split(","));// 参数为字符串的链接符
// 注意:以上代码为伪代码,实际操做时应注意非空验证// 对比串行与并行的效率(stream/parallelStream)
List<Integer> intList = new ArrayList<>();for(int i=0;i<100000;i++) {intList.add(i);}long t1 = System.currentTimeMillis();List<String> collect = intList.stream().map(integer1 -> integer1 + "key").collect(Collectors.toList());long t2 = System.currentTimeMillis();List<String> collect1 = intList.parallelStream().map(integer1 -> integer1 + "key").collect(Collectors.toList());long t3 = System.currentTimeMillis();System.out.println("---串行:"+(t2-t1));//---串行:38System.out.println("---并行:"+(t3-t2));//---并行:17

java8 streamlist转化相关推荐

  1. java foreach多线程_详解多线程入门案例与java8的并行流

    进程与线程 进程是所有线程的集合,每一个线程是进程中的一条执行路径. 多线程的创建方式,继承Thread实现Runable /*** 第一种创建线程的方式,继承Thread*/ public clas ...

  2. 这些Java8官方挖的坑,你踩过几个?

    导读:系统启动异常日志竟然被JDK吞噬无法定位?同样的加密方法,竟然出现部分数据解密失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10 ...

  3. 《Java8实战》-第六章读书笔记(用流收集数据-01)

    用流收集数据 我们在前一章中学到,流可以用类似于数据库的操作帮助你处理集合.你可以把Java 8的流看作花哨又懒惰的数据集迭代器.它们支持两种类型的操作:中间操作(如 filter 或 map )和终 ...

  4. Java基础20:Java8新特性终极指南

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  5. 【读书笔记】《写给大忙人看的Java SE 8》——Java8新特性总结

    2019独角兽企业重金招聘Python工程师标准>>> 阅读目录 接口中的默认方法和静态方法 函数式接口和Lambda表达式 Stream API 新的日期和时间 API 杂项改进 ...

  6. Java8中的HashMap分析

    本篇文章是网上多篇文章的精华的总结,结合自己看源代码的一些感悟,其中线程安全性和性能测试部分并未做实践测试,直接是"拿来"网上的博客的. 哈希表概述 哈希表本质上一个数组,数组中每 ...

  7. java lambda collect_45分钟学会Java8 - Lambda和Stream

    Java11已出,Java8已是主流. 现在来一波操作,应该不会太迟(T_T) 注:本文持续更新 ^_^ 1. 前言 本文主要介绍Java8的2大主要新特性lambda表达式和Stream API,2 ...

  8. Java8之Consumer、Supplier、Predicate和Function攻略

    今天我们还讲讲Consumer.Supplier.Predicate.Function这几个接口的用法,在 Java8 的用法当中,这几个接口虽然没有明目张胆的使用,但是,却是润物细无声的.为什么这么 ...

  9. 一文看透java8新特性

    1.介绍 毫无疑问,Java 8发行版是自Java 5(发行于2004,已经过了相当一段时间了)以来最具革命性的版本.Java 8 为Java语言.编译器.类库.开发工具与JVM(Java虚拟机)带来 ...

最新文章

  1. Error running ‘xxx-web-order‘: Unable to open debugger port : java.net.Socke
  2. DB2数据库备份转成MySQL_DB2 数据库备份(集中化)
  3. MySQL数据库Keepalived双主
  4. web前端入门必知的10个技术
  5. RabbitMQ系列教程之四:路由(Routing)
  6. bzoj 1934 最小割
  7. 嵌入式Linux入门3:Linux服务器搭建
  8. 开工了,为自己做的软件。先做些控件。
  9. javascript ES3小测试
  10. 纯新手DSP编程--5.21--DSP/BIOS使用
  11. ACER-4738ZG 拆机改散热
  12. SAP采购申请中数量/单价/价格单位/总价的填写图示
  13. Mac 使用音频工具分析音频数据
  14. 家居行业数字化建设解决方案
  15. 滴滴云服务器快速配置搭建滴滴云GPU云服务器搭建深度学习环境
  16. 三星对韩国意味着什么?假如三星破产了,韩国会受到什么影响?
  17. android系统在中国的发展趋势,最新中国智能手机市场操作系统格局:安卓占比超八成...
  18. hive 常用数据分析指标 - 网页访问数据指标 - 用户活跃度指标 - 付费行为指标
  19. centos部署bbr加速,速度提升1000%~1500%
  20. 网站首页设计、风格一致、色彩搭配、版面布局的技巧

热门文章

  1. Project Euler Problem 48: Self powers
  2. I00034 累加与累乘
  3. windows cmd 命令行 —— 进程与服务
  4. Effective Java(二)—— 循环与 StringBuilder
  5. UNIX 环境高级编程(一) apue.h 文件与apue.3e的安装
  6. hadoop 命令行相关操作
  7. numpy 常用api(一)
  8. pageoffice 骑缝章_Java 集成PageOffice自带印章配置连接MySQL
  9. java中的serializable_Java中的Serializable浅谈,只是浅谈
  10. 10安装报错0x8007000d_windows10:MySQL8.0.22版本安装教程