关于java:如何将List 转换为Map

How to convert a List to Map

本问题已经有最佳答案,请猛点这里访问。

我有以下代码,并希望使用java 8将Long列表转换为Map

1
2
3
Long globalVal= 10;
List<Long> queryLongs = Arrays.asList(600L,700L,800L);
Map<Long, Long> map = queryLongs.stream().collect(Collectors.toMap(i->i, globalVal)));

当我尝试将列表中的单个值映射为地图的键时,出现错误。


toMap的第二个参数也是Function,因此您不能只传递globalVal

1
2
3
Map<Long, Long> map = queryLongs.stream()
                                .collect(Collectors.toMap(Function.identity(),
                                                          i->globalVal));


这是一种不使用流的方法(尽管仍使用Java 8功能):

1
2
Map<Long, Long> map = new HashMap<>();
queryLongs.forEach(i -> map.put(i, globalVal));