当前位置:  开发笔记 > 编程语言 > 正文

Java 8增强了带有索引/范围的循环

如何解决《Java8增强了带有索引/范围的循环》经验,为你挑选了3个好方法。

是否可以在Java中的for循环中指定索引/范围?

例如,我有一个列表: List list;

我想从索引1而不是0运行一个for循环:

for(String s : list(start from index 1))

或直到索引5

for(String s : list(end at index 5))

我知道我可以使用传统的for循环,也可以在增强的for循环中保留一个计数器,但是我想知道Java或apache集合中是否有一些现成的东西?



1> ernest_k..:

我将subList在这种情况下使用:

for(String s : list.subList(1, list.size()))

for(String s : list.subList(0, 6))



2> Hadi J..:

使用of sublist更好,但流版本使用skipand limit

list.stream().skip(1) .... limit(6)..... 



3> BSeitkazin..:

在Java 8中,我们具有Stream API,可用于通过自定义索引遍历List:

List evenIndexes = IntStream
  .range(0, names.length)
  .filter(i -> i % 2 == 0)
  .mapToObj(i -> names[i])
  .collect(Collectors.toList());

在该range方法中,您可以从1开始,和/或迭代到5。

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有