我有一个清单
List<MyObject> list;
我想将其转换为 Map<MyObject, List<String>>
Map<MyObject, List<String>>
我试过了
Map<MyObject, List<String>> map = list .stream() .collect(Collectors.toMap(item -> item, Collections.emptyList()));
但是Java对以下内容不满意item->item:
item->item
no instance(s) of type variable(s) T exists so that List<T> conforms to Function<? super T, ? extends U>
感谢帮助
的第二个参数Collectors.toMap期望a Function将项目转换为将被放置在地图中的值。但是,您提供了Collections.emptyList(),而不是Function。
Collectors.toMap
Function
Collections.emptyList()
看起来您想为每个项目都添加一个空列表,因此请更改
至
item -> Collections.emptyList()
但是,Collections.emptyList()返回一个 不可变的 空列表,这可能不是您想要的。
返回一个空列表(不可变)。该列表是可序列化的。
你可能想要
item -> new ArrayList<>()