我可以循环遍历 List 的所有元素,如下所示:userList.forEach(user -> { System.out.println(user);});我只想为第一个元素打印用户对象,但我应该为列表中的所有元素循环。如何做到这一点?
3 回答
![?](http://img1.sycdn.imooc.com/533e4c0500010c7602000200-100-100.jpg)
凤凰求蛊
TA贡献1825条经验 获得超4个赞
似乎您在问,如何打印第一个对象但迭代其余元素并用它们做一些其他逻辑,在这种情况下,您可以使用:
if(!userList.isEmpty()) System.out.println(userList.get(0));
userList.subList(1, userList.size()).forEach(user -> ...);
![?](http://img1.sycdn.imooc.com/545868190001d52602200220-100-100.jpg)
慕桂英4014372
TA贡献1871条经验 获得超13个赞
这是 JDK9 中的另一个解决方案,因为您正在使用 lambda 表达式:
IntStream.range(0, userList.size())
.peek(i -> {if(i == 0) System.out.println(userList.get(i));})
.dropWhile(i -> i == 0)
.forEach(i -> /* some other logic here */ );
就个人而言,对于生产代码,我会采用我的另一个答案,但如果您只是喜欢 lambda,那么上述是您可以采用的另一种方法。
添加回答
举报
0/150
提交
取消