N - palabras más frecuentes en Java ArrayList
Necesito encontrar las palabras más frecuentes (n palabras, así que si n = 5, las 5 palabras más frecuentes) en una ArrayList.
private ArrayList<String> wordList = new ArrayList<String>();
public ArrayList<String> mostOften(int k)
{
ArrayList<String> lista = new ArrayList<String>();
Set<String> unique = new HashSet<String>(wordList);
for (String key : unique)
System.out.println(key + ": " + Collections.frequency(wordList, key));
return lista;
}
La función necesita devolver una lista de las palabras más frecuentes, ordenadas por frecuencia. Si 2 palabras tienen la misma frecuencia, necesito ordenarlas alfabéticamente. He publicado lo que intenté, pero esto solo encuentra la frecuencia y no sé cómo hacer el resto. ¿Alguna ayuda?