Art*_*ūrs 3 java java-8 java-stream
目前我有:
cardLabels = cards.stream()
.map(ImageSupplier::getCard)
.map(JLabel::new)
.collect(toList());
cardLabels.stream().forEach(container::add);
Run Code Online (Sandbox Code Playgroud)
我可以写lambda表达式:
.map(c ->{
JLabel label = new JLabel(c);
container.add(label);
return label;
})
Run Code Online (Sandbox Code Playgroud)
但似乎很长.有什么东西我可以调用就像.doStuff(container::add)返回流JLabel吗?
也许您正在寻找peek:
return cards.stream()
.map(ImageSupplier::getCard)
.map(JLabel::new)
.peek(container::add);
Run Code Online (Sandbox Code Playgroud)
返回由此流的元素组成的流,此外还在从结果流中消耗元素时对每个元素执行提供的操作.
这是一个中间操作.
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |