Ham*_*men 6 java lambda java-8
我想显示名称以's'开头的流的第二个元素.
我试过了:
employees.stream()
.filter(e -> e.getName().charAt(0) == 's')
.findAny()
.ifPresent(e -> System.out.println("Employee : " + e));
Run Code Online (Sandbox Code Playgroud)
但是,当我使用时findAny(),它返回流中的第一个元素(与之相同findFirst()),我想要第二个元素.
Era*_*ran 12
您可以通过skip(1)在过滤器后添加来跳过第一个匹配:
employees.stream()
.filter(e -> e.getName().charAt(0) == 's')
.skip(1)
.findAny()
.ifPresent(e -> System.out.println("Employee : " + e));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2047 次 |
| 最近记录: |