import java.util.ArrayList;
import java.util.HashMap;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
public class Solution {
public ArrayList<String> anagrams(String[] strs) {
// Start typing your Java solution below
// DO NOT write main() function
HashMap<String, ArrayList<String>> result = new HashMap<String, ArrayList<String>>();
ArrayList<String> r = new ArrayList<String>();
for(int i = 0; i < strs.length; i ++){
String key = sortWord(strs[i]);// To make key to use in hashmap
if (!result.containsKey(key)) {
ArrayList<String> value = new ArrayList<String>();
value.add(strs[i]);
result.put(key, value); //hash hits spot here
}
else{
ArrayList<String> value = result.get(key);
value.add(strs[i]);
}
}
Iterator<ArrayList<String>> it = result.values().iterator(); //result in iterator
while(it.hasNext()){
ArrayList<String> v = it.next();
if(v.size()>=2){
r.addAll(v);
}
}
return r;
}
public String sortWord(String word){
char[] charr = word.toCharArray();
Arrays.sort(charr);
return new String( charr) ;
}
}