JAVA8新特性之Stream流 ╰半橙微兮° 2022-01-14 09:47 315阅读 0赞 > 一,问题 上文中,大概了解了lambda表达式的书写,然后再这里再看一下stream流的使用。 > 二,解决方案 package language.stream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Stream; /** * 学习Java8的Stream流来操作集合或数组 * * @author KOLO * */ public class StreamMain { public static void main(String[] args) { // 获取stream对象 getStreamObject(); // 对stream对象的操作 operateStreamObject(); // 获得stream对象被操作后的结果 getStreamResult(); } /** * 获取stream对象 */ public static void getStreamObject() { // 通过集合获取stream对象 ArrayList<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(3); list.add(5); Stream<Integer> listStream = list.stream(); Stream<Integer> listParallelStream = list.parallelStream(); // 通过数组获取stream对象 Integer[] intArr = new Integer[] { 1, 2, 3, 5, 6 }; Stream<Integer> arrayStream = Arrays.stream(intArr); // 通过stream的静态of方法创建一个stream流 Stream<Integer> ofStream = Stream.of(1, 2, 3, 4, 5); // 通过stream的generate方法获取无限流 Stream<Double> limitstrStream = Stream.generate(Math::random).limit(3); // 这里的limit是限制结果的条数 limitstrStream.forEach(System.out::println); // 通过stream的方法获取流 // 根据开始的数值,自增。自增后的结果放进stream中。最后再遍历 Stream<Integer> stream3 = Stream.iterate(0, (x) -> x + 2).limit(10); stream3.forEach(System.out::println); } /** * 操作stream对象:操作主要有筛选与切片、映射和排序。 */ public static void operateStreamObject() { List<Employee> emps = Arrays.asList(new Employee(102, "李四", 59, 6666.66), new Employee(101, "张三", 18, 9999.99), new Employee(103, "王五", 28, 3333.33), new Employee(104, "赵六", 8, 7777.77), new Employee(104, "赵六", 8, 7777.77), new Employee(104, "赵六", 8, 7777.77), new Employee(105, "田七", 38, 5555.55)); emps.parallelStream() // 获取了stream流对象 .filter(e -> e.getWallet() > 1000) // 过滤掉钱包里少于1000的人 .limit(5) // 在所有的结果中选择五个人 .skip(2) // 跳过前面2个人 .forEach(System.out::println); // 遍历输出 List<String> strList = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee"); // 将strList中每个字符转为大写 strList.stream().map(String::toUpperCase).forEach(System.out::println); emps.parallelStream().map(Employee::getName).sorted().forEach(System.out::println); emps.parallelStream().sorted((x, y) -> { if (x.getAge() == y.getAge()) { return x.getName().compareTo(y.getName()); } else { return Integer.compare(x.getAge(), y.getAge()); } }).forEach(System.out::println); } /** * 获取stream对象被操作后的结果 */ public static void getStreamResult() { List<Employee> emps = Arrays.asList(new Employee(102, "李四", 59, 6666.66), new Employee(101, "张三", 18, 9999.99), new Employee(103, "王五", 28, 3333.33), new Employee(104, "赵六", 8, 7777.77), new Employee(104, "赵六", 8, 7777.77), new Employee(104, "赵六", 8, 7777.77), new Employee(105, "田七", 38, 5555.55)); Optional<String> findFirst = emps.parallelStream() .map(Employee::getName) .sorted() .findFirst(); System.out.println(findFirst.get()); } } 上述内容参考自:`https://blog.csdn.net/J080624/article/details/85060715`
相关 Java8新特性 stream流 JDK1.8的新特性 1. 前言 JDK1.8已经发布很久了,在很多企业中都已经在使用。并且Spring5、SpringBoot2.0都推荐使用JDK1.8以上版本 朱雀/ 2024年03月31日 13:17/ 0 赞/ 43 阅读
相关 Java8新特性 Stream流 [Java 8 Stream 菜鸟教程][Java 8 Stream] > Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Str 缺乏、安全感/ 2024年03月31日 09:10/ 0 赞/ 22 阅读
相关 Java8新特性Stream流详解 > Stream流是Java8新特性中实践起来最让人舒服的功能,它让我们告别了繁琐的for循环迭代,所以Stream是我们必须要掌握的一个技术特性 > 此文将带着你 迷南。/ 2023年09月24日 13:53/ 0 赞/ 93 阅读
相关 Java8新特性Stream流详解 > 陈老老老板 说明:新的专栏,本专栏专门讲Java8新特性,把平时遇到的问题与Java8的写法进行总结,需要注意的地方都标红了,一起加油。 > 本文是介绍Java8新特性 桃扇骨/ 2023年09月24日 13:37/ 0 赞/ 101 阅读
相关 jdk8 新特性之 Stream流 1、第一个使用流示例 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9 骑猪看日落/ 2023年03月13日 13:17/ 0 赞/ 27 阅读
相关 java8新特性stream流 本文章 转载自头条网, 只是觉得好用很详细,所以自己收集 做下笔记,不做任何商业用途,不收任何费用,不喜勿喷。 致敬 头条@程序猿的内心独白 1. Stream初体验 太过爱你忘了你带给我的痛/ 2023年01月15日 09:26/ 0 赞/ 146 阅读
相关 Java8新特性之Stream流 什么是Stream Stream是Java8中处理集合的关键抽象概念,他可以指定你希望对集合进行非常复杂的查找,过滤和映射数据等操作。Steam是一种高效的处理数 刺骨的言语ヽ痛彻心扉/ 2022年05月16日 11:36/ 0 赞/ 222 阅读
相关 Java8新特性之Stream流实战 Stream 流的各种实战 学习了 Stream 之后,我们会遇到一个问题,就是如何使用Stream 流来进行我们的数据处理。 准备工作 创建一个 Employ 类 川长思鸟来/ 2022年03月19日 04:36/ 0 赞/ 274 阅读
相关 JAVA8新特性之Stream流 > 一,问题 上文中,大概了解了lambda表达式的书写,然后再这里再看一下stream流的使用。 > 二,解决方案 package language.strea ╰半橙微兮°/ 2022年01月14日 09:47/ 0 赞/ 316 阅读
还没有评论,来说两句吧...