【发布时间】:2018-08-01 06:39:12
【问题描述】:
你能解释一下下面代码的执行过程吗?主要是sorted方法。
Stream.of("d2", "a2", "b1", "b3", "c")
.sorted((s1, s2) -> {
System.out.printf("sort: %s; %s\n", s1, s2);
return s1.compareTo(s2);
})
.filter(s -> {
System.out.println("filter: " + s);
return s.startsWith("a");
})
.map(s -> {
System.out.println("map: " + s);
return s.toUpperCase();
})
.forEach(s -> System.out.println("forEach: " + s));
输出:
sort: a2; d2
sort: b1; a2
sort: b1; d2
sort: b1; a2
sort: b3; b1
sort: b3; d2
sort: c; b3
sort: c; d2
filter: a2
map: a2
forEach: A2
filter: b1
filter: b3
filter: c
filter: d2
谢谢,参考:https://winterbe.com/posts/2014/07/31/java8-stream-tutorial-examples/
【问题讨论】:
-
您有什么具体问题吗?
标签: java java-8 java-stream