如何使用流将元素映射到其索引?
2022-09-03 09:56:38
我得到了一些自定义对象的流,我想创建一个映射,每个对象的索引作为键。举个简单的例子:Map<Integer, MyObject>
Stream<String> myStream = Arrays.asList("one","two","three").stream();
Integer i = 0;
Map<Integer, String> result3 = myStream.collect(Collectors.toMap(x -> i++, x -> x));
显然,这不会编译,因为:
从 lambda 表达式引用的局部变量必须是最终变量或实际上是最终变量
有没有一种简单的方法可以将流的 elemnts 映射到它们的索引,以便上述示例的预期输出如下所示:
{1=one, 2=two, 3=three}