【发布时间】:2014-08-09 17:17:03
【问题描述】:
你如何转换下面的代码块:
List<ExecutableElement> methods = ...
List<ExecutableElement> hiddens = new ArrayList<>();
for (ExecutableElement hider : methods) {
for (ExecutableElement hidden : methods) {
if (elements.hides(hider, hidden) || elements.overrides(hider, hidden, type)) {
hiddens.add(hidden);
}
}
}
methods.removeAll(hiddens);
变成这样的:
methods.removeAll(methods.stream().filter(... ...().collect(Collectors.toList());
【问题讨论】:
-
那么,您尝试过什么?有什么问题?为什么不改用
removeIf():docs.oracle.com/javase/8/docs/api/java/util/…
标签: java lambda collections java-8 java-stream