我有以下对象:
Map<String, Map<String, String>> object;
序列化时,我得到了:
{
"0" : { "0" : "str1", "1" : "str2", ... },
"1" : { "0" : "str1", "1" : "str2", ... },
...
}
问题是:如何将Map
转换为List<List<String>>
?
这是我当前的解决方案:
List<List<String>> listlist;
...
for (Map<String, String> mss : object.values()) {
List<String> list = ArrayList<String>();
for (String s : mss.values) {
list.add(s);
}
listlist.add(list);
}
显而易见的解决方案是遍历Map
并提取值,但是有什么棘手的方法吗?
答案 0 :(得分:0)
您需要遍历每个对象,没有其他方法,但是您也可以使用Streams
,您可以找到一个更清晰的对象:
Map<String, Map<String, String>> object;
List<List<String>> list = object.values().stream().map(m -> new ArrayList<>(m.values))
.collect(Collectors.toList());