Ho una mappa: TreeMap<String, Integer> m = new TreeMap<>();
dove ho un intero alfabeto e valori, che mostra quante volte ogni lettera è stata trovata nel mio testo.Come ordinare una TreeMap <String, Integer>?
Desidero ordinare la mappa in ordine decrescente; cioè, la lettera più frequente è sulla prima riga e l'ultima riga di output indica la lettera meno frequente. Se due lettere hanno la stessa frequenza, la prima lettera dell'alfabeto deve apparire per prima. Come si fa?
ho provato con Comparatore:
public int compare(String a, String b) {
if (base.get(a) >= base.get(b) && a.compareToIgnoreCase(b) < 0) {
return -1;
} else {
return 1;
}
}
ma ancora, la sua non è vero, l'output è:
D 3
E 3
A 2
S 5
Ragazzi ... Abbiamo trovato questo prima, questo aiuto non ha ancora del tutto. Buona uscita dovrebbe essere:
S 5
D 3
E 3
A 2
duplicato esatto http://stackoverflow.com/questions/3074154/sorting-a-hashmap-based-on-value-then-key – JohnJohnGa
un altro duplicato http://stackoverflow.com/questions/1448369/how-to-sort- a-treemap-based-on-its-values – mellamokb
@JohnJohnGa: no. La mia domanda è un po 'diversa. Vedi la mia modifica – Katie