> For the complete documentation index, see [llms.txt](https://ucan.gitbook.io/notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ucan.gitbook.io/notes/49.-group-anagrams.md).

# 49. Group Anagrams

{% hint style="info" %}
convert string to char\[], and then sort char\[]; add to HashMap
{% endhint %}

```java
class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        HashMap<String, List<String>> memo = new HashMap<String, List<String>>();
        
        for(String str : strs){
            char[] charArray=str.toCharArray();
            
            //method: Arrays.sort()
            Arrays.sort(charArray);
            
            //method: String.valueOf(Array), convert char[] to string
            String key = String.valueOf(charArray);
            //method hashMap.getOrDefault
            List<String> value = memo.getOrDefault(key, new LinkedList<String>());
            value.add(str);
            memo.put(key, value);
        }
        //method: hashMap.values() 
        return new ArrayList<>(memo.values());
    }
}
```
