【java技术总结】java-8新特性:stream实例

1|01.获取一列数的平方,并从小到大、从大到小排序,转化为List

List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5); //大到小 List<Integer> list = numbers.stream() .map(i -> i * i) .sorted((x, y) -> y - x) .collect(Collectors.toList()); //小到大 List<Integer> list1 = numbers.stream() .map(i -> i * i) .sorted() .collect(Collectors.toList());
[49, 25, 9, 9, 9, 4, 4] [4, 4, 9, 9, 9, 25, 49]

2|02.List转对应Map

List<String> strList = Arrays.asList("a", "ba", "bb", "abc", "cbb", "bba", "cab"); Map<Integer,String> map = strList.stream().collect(Collectors.toMap(s -> strList.indexOf(s), s -> s));
{0:a,1:ba,2:bb,3:abc,4:cbb,5:bba}

3|03.统计结果的收集器,它们主要用于int、double、long等基本类型上,它们可以用来产生类似如下的统计结果。

List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5); IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics(); System.out.println("列表中最大的数 : " + stats.getMax()); System.out.println("列表中最小的数 : " + stats.getMin()); System.out.println("所有数之和 : " + stats.getSum()); System.out.println("平均数 : " + stats.getAverage());
列表中最大的数 : 7 列表中最小的数 : 2 所有数之和 : 25 平均数 : 3.5714285714285716

4|04.合并字符串

List<String>strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl"); List<String> filtered = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.toList()); System.out.println("筛选列表: " + filtered); String mergedString = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(", ")); System.out.println("合并字符串: " + mergedString);
筛选列表: [abc, bc, efg, abcd, jkl] 合并字符串: abc, bc, efg, abcd, jkl

5|05.List筛选处理转List

List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl"); // 获取空字符串的数量 List<String> collect = strings.parallelStream() //并行流 .filter(string -> !string.isEmpty()) //过滤空字符串,符合通过 .sorted() //排序 .map(String::toUpperCase) //转大写 .distinct() //去重 .limit(2) //限制2个 .collect(Collectors.toList());

__EOF__

本文作者blanset
本文链接https://www.cnblogs.com/blanset/p/16871441.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   求道之愚者  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示