Java 8中迭代带有索引的流(Stream)

要在Java 8中迭代带有索引的流,代码如下-

示例

import java.util.stream.IntStream;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
public class Demo{
   public static void main(String[] args){
      String[] my_array = { "T", "h", "i", "s", "s","a", "m", "p", "l", "e" };
      AtomicInteger my_index = new AtomicInteger();
      System.out.println("字符串数组中的元素是:");
      Arrays.stream(my_array).map(str -> my_index.getAndIncrement() + " -> " + str).forEach(System.out::println);
   }
}

输出结果

字符串数组中的元素是:
0 -> T
1 -> h
2 -> i
3 -> s
4 -> s
5 -> a
6 -> m
7 -> p
8 -> l
9 -> e

名为Demo的类包含主要功能。 在此主要函数中,声明了一个字符串类型的数组,并使用AtomicInteger类创建了AtomicInteger实例。  “ getAndIncrement”函数用于对字符串数组的元素进行迭代,并将迭代的每个元素都打印到控制台上。