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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta