溫馨提示×

java collector是如何工作的

小樊
91
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女