说我想将Set<Foo>
转换为Map<Integer, Foo>
,其中密钥对应Foo.hashCode()
我通常会按如下方式实现:
Set<Foo> set = ...;
Map<Integer, Foo> map = set.stream()
.collect( Collectors.toMap( Object::hashCode,
element -> element )
);
还有其他方法可以在Java中表达element -> element
吗?如果是这样,他们是什么?
答案 0 :(得分:4)
您可以使用Function.identity()
Map<Integer, Foo> map = list.stream()
.collect(Collectors.toMap(
Object::hashCode,
Function.identity()));
您可以静态导入,然后您
Map<Integer, Foo> map = list.stream()
.collect(Collectors.toMap(
Object::hashCode,
identity()));
答案 1 :(得分:0)
您可以使用同样的Function.identity()
。