public ArrayList<String> anagrams(String[] strs) {
		Map<String, List<String>> map = new HashMap<String, List<String>>();
		ArrayList<String> res = new ArrayList<String>();
		if(strs == null) return res;
		for(int i = 0; i < strs.length; i++){
			String dicStr = getDicOrder(strs[i]);
			if(map.containsKey(dicStr))
				map.get(dicStr).add(strs[i]);
			else {
				ArrayList<String> item = new ArrayList<String>();
				item.add(strs[i]);
				map.put(dicStr, item);
			}
		}

		for(Map.Entry<String, List<String>> entry : map.entrySet()){
			if(entry.getValue().size() > 1)
				for(String s : entry.getValue()){
					res.add(s);
				}
		}
		return res;
	}