Java cuenta la aparición de cada elemento en una matriz

Existe algún método para contar la aparición de cada elemento en una matriz?

Digamos que tengo:

String[] array = {"name1","name2","name3","name4", "name5"};

Aquí la salida será:

name1 1
name2 1
name3 1
name4 1
name5 1

y si tengo:

String[] array = {"name1","name1","name2","name2", "name2"};

La salida sería:

name1 2
name2 3

La salida aquí es solo para demostrar el resultado esperado.

Respuestas a la pregunta(16)

Su respuesta a la pregunta