Bur*_*man 4 java java-8 java-stream
在java 8如何array使用2D将2D 转换为Map stream().如果键值已经存在,它也应该更新值.
String[][] array=new String[][]{{"a","b"},{"a","c"},{"b","d"}};
HashMap<String,String> map=new HashMap<String,String>();
for(String[] arr:array){
map.put(arr[0],arr[1]);
}
Run Code Online (Sandbox Code Playgroud)
我试过这个
map=Arrays.stream(array).collect(Collectors.toMap(x->x[0],x->x[1]));
Run Code Online (Sandbox Code Playgroud)
错误
错误:(38,45)java:不兼容类型:推理变量R具有不兼容的边界等式约束:java.util.Map上限:java.util.HashMap,java.lang.Object
添加合并重复键的运算符:
String[][] array = new String[][]{{"a", "b"}, {"a", "c"}, {"b", "d"}};
Map<String, String> m = Arrays.stream(array)
.collect(Collectors.toMap( kv -> kv[0],
kv -> kv[1],
(oldV, newV) -> newV)
));
Run Code Online (Sandbox Code Playgroud)
格式化这些单行将是有一天的问题..
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |