¡Hola Juan, espero que estés bien!
Tu código está bastante bien estructurado y cumple con la mayoría de los requisitos del desafío. Sin embargo, hay un pequeño detalle que podrías ajustar para que las compras se muestren ordenadas por el valor de la compra, de menor a mayor, como se menciona en el ejercicio.
Actualmente, estás utilizando un TreeMap
para ordenar las compras, pero el TreeMap
ordena las claves (en este caso, los nombres de los productos) en orden natural. Para ordenar las compras por el valor, podrías utilizar una lista de entradas y luego ordenarla. Aquí tienes un ejemplo de cómo podrías hacerlo:
public void mostrarListaCompras(){
List<Map.Entry<String, Double>> lista = new ArrayList<>(listaCompras.entrySet());
lista.sort(Map.Entry.comparingByValue());
lista.forEach((entry) -> {
System.out.println(entry.getKey() + " - " + entry.getValue());
});
}
Con este cambio, las compras se mostrarán ordenadas por el valor del producto, de menor a mayor. Espero que esto te ayude a cumplir con el desafío propuesto en tu curso.
Espero ter ayudado y bons estudos!