是否可以在Java中的for循环中指定索引/范围?
例如,我有一个列表: 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集合中是否有一些现成的东西?
我将subList
在这种情况下使用:
for(String s : list.subList(1, list.size()))
和
for(String s : list.subList(0, 6))
使用of sublist
更好,但流版本使用skip
and limit
:
list.stream().skip(1) .... limit(6).....
在Java 8中,我们具有Stream API,可用于通过自定义索引遍历List:
ListevenIndexes = IntStream .range(0, names.length) .filter(i -> i % 2 == 0) .mapToObj(i -> names[i]) .collect(Collectors.toList());
在该range
方法中,您可以从1开始,和/或迭代到5。