如何在Java 9的Stream API中使用collect()方法?
StreamAPI中的collect()方法从流对象收集所有对象,并以collection类型存储。用户必须提供可以存储结果的收集类型。我们使用CollectorsEnum指定收集类型。收集器枚举中可以有不同的类型和不同的操作,但是大多数时候我们可以使用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]
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短