如何在Java 8流API中重写此代码?
public static void main(String[] args) {
final List<String> ids = Arrays.asList("001", "007", "012", "099", "101", "167");
int total = 0;
for (String id : ids) {
if (id.indexOf("1") >= 0) {
System.out.println(id);
total++;
}
}
System.out.println("Total count: " + total);
}
我们可以这样做:
System.out.println(
"Total count: " + ids.stream()
.filter(id -> id.indexOf("1") >= 0)
.peek(System.out::println)
.count());
等效流可以这样
long total = ids.stream()
.filter(id - > id.indexOf("1") >= 0)
.peek(System.out::println)
.count();