我想显示名称以' s'开头的流的第二个元素。
我试过了:
employees.stream()
.filter(e -> e.getName().charAt(0) == 's')
.findAny()
.ifPresent(e -> System.out.println("Employee : " + e));
但是,当我使用findAny()
时,它会返回流中的第一个元素(与findFirst()
相同),我想要第二个元素。
答案 0 :(得分:10)
您可以在过滤器后添加skip(1)
来跳过第一场比赛:
employees.stream()
.filter(e -> e.getName().charAt(0) == 's')
.skip(1)
.findAny()
.ifPresent(e -> System.out.println("Employee : " + e));