假设此列表示例[[a,b,c],[1, ,3],[12,34, ]]
是列表列表。
试图将其转换为地图中的地图就像这样。
a = 1, 12
b = null, 34
c = 3, null
请注意我已经从下面的字符串
创建了上面的列表列表a:b:c|1::3|12:34:|
这里的方法是首先将此字符串转换为列表列表,然后将第一个列表元素作为键,并将其他值作为此键的值。
答案 0 :(得分:2)
完整的直接使用代码:
public static void main(String[] args) {
List<List<String>> list = new ArrayList<>();
list.add(new ArrayList<>(Arrays.asList("a", "b", "c")));
list.add(new ArrayList<>(Arrays.asList("1", null, "3")));
list.add(new ArrayList<>(Arrays.asList("12", "34", null)));
Map<String, List<String>> map = new HashMap<>();
for (int i = 0; i < list.get(0).size(); i++) {
List<String> value = new ArrayList<>();
for (int j = 1; j < list.get(0).size(); j++) {
value.add(list.get(j).get(i));
}
map.put(list.get(0).get(i), value);
}
System.out.println(map.toString()); // {a=[1, 12], b=[null, 34], c=[3, null]}
}
提示
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
允许您(稍后)将其他元素添加到列表
List<String> list list = Arrays.asList("a", "b", "c");
不允许稍后添加其他元素