【发布时间】:2020-04-07 06:31:24
【问题描述】:
我无法理解最后一行代码的有效性。
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
if (strs.length == 0) return new ArrayList();
Map<String, List> ans = new HashMap<String, List>();
for (String s : strs) {
char[] ca = s.toCharArray();
Arrays.sort(ca);
String key = String.valueOf(ca);
if (!ans.containsKey(key)) ans.put(key, new ArrayList());
ans.get(key).add(s);
}
return new ArrayList(ans.values());
}
}
代码行:“return new ArrayList(ans.values());” 这些值是否被一一插入-到底发生了什么?
【问题讨论】:
-
你能澄清你的问题你到底想要什么吗?
-
@Parth Pitroda 答案是返回一个数组列表。哈希映射具有数组列表形式的值。我只是想知道如何“返回新的 ArrayList(ans.values());”正在将数组列表转移到另一个数组列表中。
-
ans.values() bcz 你的地图值是列表类型,这就是你得到arraylist的原因。
标签: java arraylist syntax hashmap