Originariamente inviato da pupys87
Si si sarebbe ancora meglio grazie

...
Comunque per caso c'è di mezzo il metodo compareTo ?...
compareTo() è di Comparable .... l'ho detto prima: Comparator ha compare().
codice:
import java.util.*;
public class Prova {
public static void main(String[] args) {
TreeSet<String> set = new TreeSet<String>(new StrLenComparator());
set.add("gastone");
set.add("pippo");
set.add("topolino");
set.add("qui");
set.add("quo");
set.add("qua");
for (String s : set) {
System.out.println(s);
}
}
}
class StrLenComparator implements Comparator<String> {
public int compare(String s1, String s2) {
if (s1.length() < s2.length()) {
return -1;
} else if (s1.length() > s2.length()) {
return +1;
} else {
// Se lunghezza uguale, compara il contenuto
return s1.compareTo(s2);
}
}
}
L'output è:
qua
qui
quo
pippo
gastone
topolino