Java 8 引入了新的 Stream API,它提供了一种更便捷和高效的方式来对集合进行操作。.stream()
是 Stream API 中的一个方法,它用于将集合(或数组)转换为一个流,从而可以利用流提供的各种操作进行处理。
.stream()
方法的作用是将一个集合(如 List、Set、Map 等)或一个数组转换为一个流。一旦将集合转换为流,就可以使用 Stream API 提供的丰富方法来进行各种操作,比如筛选、映射、排序、归约等。
以下是 .stream()
方法的一些常见用法:
1.从集合创建流:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
2.从数组创建流:
String[] array = {"a", "b", "c"};
Stream<String> stream = Arrays.stream(array);
3.对流进行操作:
一旦得到了流,就可以对其进行各种操作,比如过滤、映射、排序、归约等。
List<String> list = Arrays.asList("apple", "banana", "cherry");
Stream<String> stream = list.stream();
// 例:筛选出长度大于 5 的字符串
stream.filter(s -> s.length() > 5)
.forEach(System.out::println);
4.并行流:
-
除了普通的串行流外,还可以使用
.parallelStream()
方法创建并行流,以便利用多核处理器进行并行处理。
.stream()
方法的引入使得对集合的处理更加简洁、高效,并且可以利用并行处理来提高性能。
5..stream().map().collect()
是一种常见的组合使用方式
用于对流中的元素进行转换并将结果收集起来。
-
stream(): 首先,
.stream()
方法用于将集合(或数组)转换为一个流,以便后续的操作。 -
map():
.map()
方法用于对流中的每个元素进行映射操作,将每个元素按照指定的映射规则转换成另一个元素,生成一个新的流。 -
collect(): 最后,
.collect()
方法用于将流中的元素收集起来,生成一个集合(如 List、Set、Map 等)或者一个值。
举例说明:
假设有一个字符串列表,我们想将列表中的每个字符串转换为大写形式,并将结果收集到一个新的列表中。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "cherry");
// 将列表转换为流,对每个元素进行大写转换,然后收集到一个新的列表中
List<String> result = list.stream()
.map(String::toUpperCase) // 将每个元素转换为大写形式
.collect(Collectors.toList()); // 将结果收集到一个列表中
// 输出结果
System.out.println(result); // 输出:[APPLE, BANANA, CHERRY]
}
}
在这个例子中,我们首先使用 .stream()
将列表转换为流,然后使用 .map(String::toUpperCase)
将每个字符串转换为大写形式,最后使用 .collect(Collectors.toList())
将转换后的结果收集到一个新的列表中。
这样,.stream().map().collect()
的组合就完成了对流中元素的转换和收集操作。
觉得写的不错的朋友,请点点赞!❤❤❤❤❤❤❤❤