java的stream流使用
时间: 2023-10-21 22:27:18 浏览: 61
Java中的Stream流是一个强大的新特性,它提供了一种处理集合数据的方式,可以进行过滤、映射、排序等操作。下面是一些常见的使用方法:
1. 创建一个Stream流:
- 通过集合创建:`List<String> list = Arrays.asList("apple", "banana", "orange"); Stream<String> stream = list.stream();`
- 通过数组创建:`String[] array = {"apple", "banana", "orange"}; Stream<String> stream = Arrays.stream(array);`
- 通过Stream.of()方法创建:`Stream<String> stream = Stream.of("apple", "banana", "orange");`
2. 过滤元素:
- 使用filter()方法根据条件过滤元素:`stream.filter(e -> e.startsWith("a"))`
- 使用distinct()方法去重:`stream.distinct()`
3. 转换元素:
- 使用map()方法将元素进行映射:`stream.map(e -> e.toUpperCase())`
- 使用flatMap()方法将多个流合并成一个流:`stream.flatMap(e -> Stream.of(e.split(" ")))`
4. 排序:
- 使用sorted()方法对元素进行排序:`stream.sorted()`
- 可以传入Comparator自定义排序规则:`stream.sorted(Comparator.comparingInt(String::length))`
5. 终止操作:
- 使用forEach()方法遍历元素:`stream.forEach(System.out::println)`
- 使用collect()方法将流转换为集合或数组:`List<String> result = stream.collect(Collectors.toList())`
- 使用reduce()方法将流中元素进行规约:`Optional<String> result = stream.reduce((s1, s2) -> s1 + ", " + s2)`
这只是Stream流的一部分常见用法,还有很多其他方法可以用于处理集合数据。希望对你有所帮助!
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)