温馨提示×

java collector是如何工作的

小樊
86
2024-07-12 17:31:29
栏目: 编程语言

Java 中的 Collector 是用于将 Stream 中的元素收集到一个数据结构中的工具。它们可以将 Stream 中的元素收集到 List、Set、Map 等数据结构中,并且可以对元素进行操作或对结果进行汇总。

Collector 接口中定义了几个方法,其中最重要的是三个方法:

  1. supplier():创建一个新的可变容器,用于存储流中的元素。
  2. accumulator():将流中的元素逐个添加到容器中。
  3. finisher():对容器进行最终的转换,得到最终的结果。

当我们使用 Collector 收集器时,通常会使用 Collectors 类中提供的静态工厂方法来创建 Collector。这些静态方法包括 toList()、toSet()、toMap() 等,用于将元素收集到不同的数据结构中。

以下是一个使用 Collector 的简单示例:

List<String> list = Arrays.asList("apple", "banana", "cherry");
List<String> collectedList = list.stream()
                                 .filter(s -> s.startsWith("a"))
                                 .collect(Collectors.toList());
System.out.println(collectedList); // 输出:[apple]

在这个例子中,我们通过 filter() 方法筛选出以字母"a"开头的元素,然后使用 collect() 方法将筛选后的元素收集到一个 List 中。最终输出的结果是包含"apple"的 List。

0