如何使用 Java 8 的 Stream API 与 Iterator 互操作

发布时间:2025-01-20 16:52:26 作者:小樊
来源:亿速云 阅读:96

Java 8 的 Stream API 提供了一种更简洁、更函数式的方式来处理集合

  1. 使用 stream() 方法将集合转换为 Stream:
List<String> list = Arrays.asList("A", "B", "C", "D");
Stream<String> stream = list.stream();
  1. 使用 collect() 方法将 Stream 转换回集合:
List<String> collectedList = stream.collect(Collectors.toList());
System.out.println(collectedList); // 输出:[A, B, C, D]
  1. 使用 forEach() 方法遍历 Stream 中的元素:
stream.forEach(System.out::println); // 输出:
// A
// B
// C
// D
  1. 使用 filter() 方法过滤 Stream 中的元素:
Stream<String> filteredStream = stream.filter(s -> s.length() > 1);
System.out.println(filteredStream.collect(Collectors.toList())); // 输出:[B, C, D]
  1. 使用 map() 方法对 Stream 中的元素进行转换:
Stream<Integer> lengthStream = stream.map(String::length);
System.out.println(lengthStream.collect(Collectors.toList())); // 输出:[1, 1, 1, 1]
  1. 使用 flatMap() 方法将多个 Stream 合并为一个 Stream:
List<String> list1 = Arrays.asList("A", "B");
List<String> list2 = Arrays.asList("C", "D");

Stream<String> combinedStream = list1.stream().flatMap(s -> list2.stream());
System.out.println(combinedStream.collect(Collectors.toList())); // 输出:[A, B, C, D]
  1. 使用 sorted() 方法对 Stream 中的元素进行排序:
Stream<String> sortedStream = stream.sorted();
System.out.println(sortedStream.collect(Collectors.toList())); // 输出:[A, B, C, D]
  1. 使用 reduce() 方法对 Stream 中的元素进行归约操作:
int sum = stream.mapToInt(Integer::intValue).reduce(0, Integer::sum);
System.out.println(sum); // 输出:10
  1. 使用 collect() 方法将 Stream 转换为其他数据结构,例如 Set 或 Map:
Set<String> set = stream.collect(Collectors.toSet());
System.out.println(set); // 输出:[A, B, C, D]

Map<String, Integer> map = stream.collect(Collectors.toMap(s -> s, s -> s.length()));
System.out.println(map); // 输出:{A=1, B=1, C=1, D=1}

通过以上示例,您可以了解如何使用 Java 8 的 Stream API 与 Iterator 互操作。Stream API 提供了许多其他功能,可以参考官方文档以获取更多信息。

推荐阅读:
  1. 如何使用Java8 Stream API
  2. 如何在Java中使用Collection方法 移除元素

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:零停机部署对服务器的要求高吗

下一篇:如何通过Access Log追踪用户行为模式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》