如何在Java 9的Stream API中使用collect()方法?

Stream API中的collect()方法从流对象收集所有对象,并以collection类型存储。用户必须提供可以存储结果的收集类型。我们使用Collectors Enum指定收集类型。收集器枚举中可以有不同的类型和不同的操作,但是大多数时候我们可以使用Collectors.toList(),Collectors.toSet()和Collectors.toMap()。

语法

<R, A> R collect(Collector<? super T,A,R> collector)

示例

import java.util.*;

import java.util.stream.*;

public class StreamCollectMethodTest {

   public static void main(String args[]) {

      List<String> list = List.of("a", "b", "c", "d", "e", "f", "g", "h", "i");

      List<String> subset1 = list.stream()

                                 .takeWhile(s -> !s.equals("e"))

                                 .collect(Collectors.toList());

      System.out.println(subset1);

      List<String> subset2 = list.stream()

                                 .dropWhile(s -> !s.equals("e"))

                                 .collect(Collectors.toList());

      System.out.println(subset2);

      List<Integer> numbers = Stream.iterate(1, i -> i <= 10, i -> i+1)

                                    .collect(Collectors.toList());

      System.out.println(numbers);

   }

}

输出结果

[a, b, c, d]

[e, f, g, h, i]

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

以上是 如何在Java 9的Stream API中使用collect()方法? 的全部内容, 来源链接: utcz.com/z/335061.html

回到顶部