¿Cómo ordenar un Map por valores en Java?
¡Hola a todos! Soy nuevo en Java y me encontré con un problema. Tengo un `Map`, donde las claves son los nombres de los estudiantes y los valores son sus puntuaciones. Necesito mostrar los estudiantes en orden ascendente de puntuaciones (de menor a mayor).
El problema es que las implementaciones estándar de Map (por ejemplo, `HashMap` o `TreeMap`) solo ordenan por claves. Intenté usar `TreeMap` con un comparador, pero solo funciona con claves.
Aquí hay un ejemplo de mi código:
```java
Map scores = new HashMap<>();
scores.put("Alice", 85);
scores.put("Bob", 92);
scores.put("Charlie", 78);
scores.put("David", 88);
// Intento ordenar por valores (puntuaciones)
// Quiero obtener: Charlie=78, Alice=85, David=88, Bob=92
```
He leído que se puede usar `Stream API` o `List` de `Map.Entry`, pero todos los ejemplos son demasiado complicados para mí. Por favor, indíquenme cómo hacerlo de la manera más simple y comprensible. Preferiblemente con una explicación de cada paso. ¡Gracias de antemano!