То, что я обычно делаю,
print("SELECT column1, column2
FROM table1
WHERE column3 IN (SELECT TOP(1) column4
FROM table2 INNER JOIN
table3 ON table2.column1 = table3.column1)");
class Person implements Comparable<Person> {
private static final Collator collator = Collator.getInstance(Locale.ITALY);
private final String lastname;
private final CollationKey key;
Person(String lastname) {
this.lastname = lastname;
this.key = collator.getCollationKey(lastname);
}
public int compareTo(Person person) {
return key.compareTo(person.key);
}
}
CollationKeys
. Вы можете использовать TreeMap
в качестве реализации m.put (collator.getCollationKey (e. {GetStringYouWantToSortOn}), e);
Итерация over m.values ()
должен давать ваши объекты, отсортированные по нужной строке с помощью CollationKeys
.
Я считаю, что это неэффективно, но должно работать.
use a Comparator instead of making Person Comparable. your Comparator can take 2 Persion instances and compare them based on some Collator instance. then call
Collections.sort(list, myPersonComparator);