class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>> res = new ArrayList<>();
//创建一个map key为顺序排列的字符串 value是集合 用来存储异位词组
Map<String, List<String>> map = new HashMap<>();
//遍历每一个字符串 给他排好序然后作为key放进map中 value为词组
for(String str : strs) {
//先把字符串变为字符数组
char[] chars = str.toCharArray();
//然后对数组排序
Arrays.sort(chars);
//将字符数组变为字符串
String key = new String(chars);
//获取存放词组的集合
List<String> list = map.getOrDefault(key, new ArrayList<String>());
//将str放进集合
list.add(str);
//更新集合
map.put(key, list);
}
//遍历集合将集合放进去
for(String key : map.keySet()) {
res.add(map.get(key));
}
return res;
}
}