import java.util.*; 
class Solution 
{ 
	public static List < List < String >> groupAnagrams(String[] strs) 
	{ 
		List < List < String >> result = new ArrayList < > (); 
		String strn[] = new String[strs.length]; 
		for (int i = 0; i < strs.length; i++) 
		{ 
			char chr[] = strs[i].toCharArray(); 
			Arrays.sort(chr); 
			strn[i] = String.valueOf(chr); 
		} 
		HashMap < String, ArrayList < String >> hmap = new HashMap < String, ArrayList < String >> (); 
		for (int i = 0; i < strs.length; i++) 
		{ 
			if (hmap.containsKey(strn[i])) 
			{ 
				ArrayList < String > list = hmap.get(strn[i]); 
				list.add(strs[i]); hmap.put(strn[i], list); 
			} 
			else
			{ 
				ArrayList < String > list = new ArrayList < > (); 
				list.add(strs[i]); 
				hmap.put(strn[i], list); 
				result.add(list); 
			} 
		} 
		return result; 
		} 
	}