需要使用List<Object>
将Map<String,Long>
转换为Collectors.toMap()
,Long值为零。
这里的对象引用了我自己定义的java类。
List<Test> list = new ArrayList<Test>(); list.add(X); list.add(Y);
Map<String,Long> map = list.stream().collect(Collectors.toMap(Test:getName,XXXX)));
我的预期输出:
{"x",0},{"Y",0}
答案 0 :(得分:7)
您可以使用lambda表达式作为值:
Map<String, Long> map = list.stream()
.collect(Collectors.toMap(Test:getName,x -> 0L,(a,b)->a));
您还可以使用BigDecimal
常量
Map<String, Long> map = list.stream()
.collect(Collectors.toMap(Test:getName,x -> BigDecimal.ZERO.longValue(),(a,b)->a));