使用Java流将数字数组转换为Map

ng.newbie:

我在Java中有以下数组:

int arr[] = {4,5,6};

我想将其转换为一个java.util.Map<K,V>实例,实例具有数组的索引作为键,索引处的值作为Map的值。像这样

0 = 4
1 = 5
2 = 6

我尝试了以下方法:

IntStream.range(0, arr.length)
                 .collect(Collectors.toMap(k -> k, k -> arr[k]));

但这会导致编译错误,例如:

Type mismatch: cannot convert from Collector<Object,capture#1-of ?,Map<Object,Object>> to Supplier<R>

The method collect(Supplier<R>, ObjIntConsumer<R>, BiConsumer<R,R>) in the type IntStream is not applicable for the arguments (Collector<Object,?,Map<Object,Object>>)

我在这里做错了什么?

我只是遍历所有索引,然后将它们映射到键和值,我哪里出错了?

Nitin Bisht:

尝试:

int arr[] = {4,5,6};
Map<Integer, Integer> resultMap = IntStream.range(0, arr.length).boxed()
                    .collect(Collectors.toMap(Function.identity(), k -> arr[k]));
resultMap.entrySet().forEach(entry -> System.out.println(entry.getKey() + " = " + entry.getValue()));

输出:

0 = 4
1 = 5
2 = 6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java使用流将数组转换为类实例的数组

将黑白图像转换为数字数组?

如何将数字字符串转换为数字数组?

将整数转换为数字数组

如何使用流将Map的Map转换为Object的Map

Ruby中是否有任何优雅的方法可以将数字转换为数字数组

仅使用O(lgβ)乘法和除法将β位整数转换为数字数组

如何将十六进制数字数组转换为字节数组-python

JavaScript,将数字数组转换为双精度

使用Map将2D字符串数组转换为拆分数字数组

在Hive中,如何将字符串数组转换为数字数组

使用array.reduce方法将二进制数字数组转换为十进制

将数字数组转换为范围字符串

如何将整数转换为数字数组

将数字数组转换为单个数字,加1,然后转换回数字数组

Python:如何将4位数字数组按位转换为更大的数字?

Java将字符串转换为数字数组

Matlab:使用格式将数字数组转换为字符串数组

将数字转换为数字数组

JS将数字数组转换为半长对象数组的更好方法

将数字数组转换为正常分数

如何将字符串数组数组转换为数字数组数组?

使用 Python 中的一行 for 循环将数字转换为数字数组

将数字数组和数学符号数组转换为数学表达式?

将数字数组转换为日期

将数字字符串转换为数字数组?

Numpy 自动将字符串数组转换为数字数组

如何将字符串数组转换为数字数组?

将 Json 中的数字数组转换为 SQL 表