📅  最后修改于: 2020-03-29 03:26:19             🧑  作者: Mango
给定Java中的Stream,任务是在索引的帮助下对其进行迭代。
例子:
输入:Stream= [G,e,e,k,s]
输出:[0-> G,1-> e,2-> e,3-> k,4-> s]
输入:Stream= [G,e,e,k,s,F,o,r,G,e,e,k,s]
输出:[0-> G,1-> e,2-> e,3 -> k,4-> s,5-> F,6-> o,7-> r,8-> G,9-> e,10-> e,11-> k,12-> s]
// Java展示迭代带有索引的流Stream
import java.util.stream.IntStream;
class GFG {
public static void main(String[] args)
{
String[] array = { "G", "e", "e", "k", "s" };
// 迭代带有索引的流Stream
IntStream
// 从array获取流
.range(0, array.length)
// Map each elements of the stream
// with an index associated with it
.mapToObj(index -> String.format("%d -> %s",
index, array[index]))
// 打印元素
.forEach(System.out::println);
}
}
输出:
0 -> G
1 -> e
2 -> e
3 -> k
4 -> s
方法2:使用AtomicInteger。
// Java展示迭代带有索引的流Stream
import java.util.stream.IntStream;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
class GFG {
public static void main(String[] args)
{
String[] array = { "G", "e", "e", "k", "s" };
// 创建一个AtomicInteger
AtomicInteger index = new AtomicInteger();
// Iterate over the Stream with indices
Arrays
// 从array获取流
.stream(array)
// 把每个元素映射map到对应的索引
.map(str -> index.getAndIncrement() + " -> " + str)
// 打印元素和索引
.forEach(System.out::println);
}
}
输出:
0 -> G
1 -> e
2 -> e
3 -> k
4 -> s