Exo*_*dus 0 java collections java-8 java-stream
需要转换List<Object>到Map<String,Long>使用与长期价值为零Collectors.toMap()。
这里的 Object 指的是我自己定义的 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)));
Run Code Online (Sandbox Code Playgroud)
我的预期输出:
{"x",0},{"Y",0}
Run Code Online (Sandbox Code Playgroud)
您可以对值使用 lambda 表达式:
Map<String, Long> map = list.stream()
.collect(Collectors.toMap(Test:getName,x -> 0L,(a,b)->a));
Run Code Online (Sandbox Code Playgroud)
您也可以使用BigDecimal常量
Map<String, Long> map = list.stream()
.collect(Collectors.toMap(Test:getName,x -> BigDecimal.ZERO.longValue(),(a,b)->a));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
713 次 |
| 最近记录: |