前言
Stream是Java 8中新增的一个抽象概念,可以对集合进行复杂的查找、过滤和映射数据等操作。
简单应用
生成方式
Java 8 中, 集合接口有两个方法来生成流:
- stream() − 为集合创建串行流。
- parallelStream() − 为集合创建并行流。
应用示例
- map 方法用于映射每个元素到对应的结果
@Test
public void testStream() {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.stream()
.map(item -> item * 2)
.collect(Collectors.toList())
.forEach(System.out::println);
}
- filter 方法用于通过设置的条件过滤出元素
@Test
public void testStream() {
List<String> strings = Arrays.asList("ab", "bc", "cd", "ef", "ad");
strings.stream()
.filter(str -> str.contains("a"))
.collect(Collectors.toList())
.forEach(System.out::println);
}
- parallelStream 流并行处理程序
@Test
public void testStream() {
List<String> strings = Arrays.asList("ab", "bc", "cd", "ef", "ad");
strings.parallelStream()
.filter(str -> str.contains("a"))
.collect(Collectors.toList())
.forEach(System.out::println);
}