JDK8使用Stream对数组合并、去重
来源:互联网 发布:闲鱼在淘宝哪里进去 编辑:程序博客网 时间:2024/06/10 18:06
传统的写法
String[] str1 = {"08:00", "09:00", "10:00", "18:00", "21:00"};String[] str2 = {"12:00", "09:00", "10:00", "11:00"}; //合并不去重 List<String> list1 = new ArrayList<String>(Arrays.asList(str1)); list1.addAll(Arrays.asList(str2)); String[] str3 = (String[])list1.toArray(new String[list1.size()]); //利用set特性合并去重 Set set = new HashSet<String>(Arrays.asList(str1)); set.addAll(new HashSet<String>(Arrays.asList(str2))); str3 = (String[])set.toArray(new String[set.size()]);
jdk8写法
String[] str1 = {"08:00", "09:00", "10:00", "18:00", "21:00"};String[] str2 = {"12:00", "09:00", "10:00", "11:00"};//jdk8 streamstr3 = Stream.concat(Stream.of(str1), Stream.of(str2)) //合并 .distinct() //去重 .sorted() //排序 .peek(System.out:println) .toArray(String[]::new);
额外记录reduce用法
String[] temp = Stream.concat(Stream.of(str1), Stream.of(str2)) //合并 .distinct() //去重 .sorted() //排序 .reduce((a, b) -> { //拼接 a = a + "-" + b + "," + b; return a; }).get().toString().split(",");//去掉垃圾数据str3 = Arrays.asList(temp) .stream() .filter(v -> v.contains("-")) .peek(System.out::println) .toArray(String[]::new);
输出
08:00-09:0009:00-10:0010:00-11:0011:00-12:0012:00-18:0018:00-21:00
阅读全文
0 0
- JDK8使用Stream对数组合并、去重
- js2个数组合并并去重
- jdk8 Stream
- PHP 对多个数组合并去重&以及数组键值的翻转
- 如何优雅的将多个数组合并成一个数组(去重)
- 使用LinkedHashSet给ArrayList去重并保持顺序
- javascript使用冒泡法排序(并去重)
- 使用LinkedHashSet对ArrayList去重并保持原顺序
- Stream对数字处理
- JDK8新特性-Stream
- JDK8 Stream API 学习
- JDK8新特性--Stream
- jdk8之Stream
- jdk8 stream应用实例
- jdk8,stream流水线原理
- JDK8 stream操作
- 关于JDK8 Stream
- 字符串去重并排序
- 考研第一篇
- web前端笔记:url,href,src的区别
- 基于ionic2 的移动app开发过程《5》
- Docker容器技术进阶篇
- 2017.10.13 硬币游戏 思考记录
- JDK8使用Stream对数组合并、去重
- ArcGIS教程之DEM应用——水文分析
- 林轩田-机器学习基石-作业1-python源码
- Java虚拟机垃圾回收(一) 基础:回收哪些内存/对象 引用计数算法 可达性分析算法 finalize()方法 HotSpot实现
- Lauren与密码学1,Who is Lauren?
- 第十五章 动态规划
- 判断IE版本的HTML语句详解
- CSS:nth-child
- HTML5触摸事件(touchstart、touchmove和touchend)