我有一个整数数组int[]
,并且想创建一个包含以下内容的项List
:
class Entry {
int theIndexOfNumber;
int numberInTheArray;
}
例如,对于{3,5,7},
,我想要一个列表
{1, 3}, {2, 5},(3, 7}
使用一些Java代码很容易,但是我想使用Java 8以流方式进行操作。
我认为我应该使用某种收集器,但不知道该如何写。有人可以帮忙吗?
答案 0 :(得分:2)
您可以使用IntStream
遍历数组的索引,并将每个索引映射到相应的Entry
实例:
int[] arr = ...
List<Entry> entries =
IntStream.range(0,arr.length)
.mapToObj(i -> new Entry(i+1,arr[i]))
.collect(Collectors.toList());
这是假设Entry
具有必需的构造函数。