Java 1.8 Stream 流 Filter 过滤
首先,我们创建一个 List
集合:
List<String> stringCollection = new ArrayList<>();
stringCollection.add("ddd2");
stringCollection.add("aaa2");
stringCollection.add("bbb1");
stringCollection.add("aaa1");
stringCollection.add("bbb3");
stringCollection.add("ccc");
stringCollection.add("bbb2");
stringCollection.add("ddd1");
Filter
的入参是一个 Predicate
, 上面已经说到,Predicate
是一个断言的中间操作,它能够帮我们筛选出我们需要的集合元素。它的返参同样
是一个 Stream
流,我们可以通过 foreach
终端操作,来打印被筛选的元素:
stringCollection
.stream()
.filter((s) -> s.startsWith("a"))
.forEach(System.out::println);
// "aaa2", "aaa1"
注意:
foreach
是一个终端操作,它的返参是void
, 我们无法对其再次进行流操作。