最近,我与一位同事讨论了如何在Java中转换List为最佳方式,Map以及是否有任何特定的好处.
我想知道最佳转换方法,如果有人能指导我,我会非常感激.
这是一个好方法:
List<Object[]> results;
Map<Integer, String> resultsMap = new HashMap<Integer, String>();
for (Object[] o : results) {
resultsMap.put((Integer) o[0], (String) o[1]);
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种将List转换为Dart中的Map 的现成方法.
例如,在python中你可以这样做:
l= [ ('a',(1,2)), ('b',(2,3)), ('c',(3,4) ) ]
d=dict(l)
==> {'a': (1, 2), 'c': (3, 4), 'b': (2, 3)}
Run Code Online (Sandbox Code Playgroud)
dict函数需要一对夫妇的List.对于每对,第一个元素用作键,第二个元素用作数据.
在Dart中,我看到了List的以下方法:asMap(),但它并没有按照我的预期进行:它使用列表索引作为键.我的问题:
提案:
List.toMap() //same as python dict.
List.toMap( (value) => [ value[0], value[1] ] ) //Using anonymous function to return a key and a value from a list item.
Run Code Online (Sandbox Code Playgroud)
感谢致敬,
萨科