Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Collator word sorting


Автор: gelo86 25.12.2009, 18:27
Слычал про класс Collator. Вот подумал, может ли он мне помочь в моих ситуациях. Например у меня есть список государств: Afganistan, Belgium, Lithuania, Russia. Например, мне надо в вебе в форме сделать селект бокс с государствами. Государства должны быть отсортированны по А-З, но чаше всего первыми идут самые популарние. НАпример если сайт в российи, то 99% пользователей будут виберать россию, поетому Russia должна быть первая в списке. Collection.sort(...) непдхот. Так можел ли мне какнибудь помоч Collator? Неахота при подобных ситуациях писать свои Comparator (а если в начало списка надо выбрать более одной строчки, то уже более чем один иф).

Автор: comcon1 25.12.2009, 18:56
Цитата(gelo86 @  25.12.2009,  18:27 Найти цитируемый пост)
Неахота при подобных ситуациях писать свои Comparator (а если в начало списка надо выбрать более одной строчки, то уже более чем один иф). 

Collator - это ребенок Comparator, поэтому я не понимаю, как он тебе поможет больше. Идея в том, чтобы кормить на сравнивание не просто массив строчек "Afganistan", "Brasil", ..., а массив объектов (что-то вроде std::pair в С++), где есть строка и приоритет. Если приоритет 0, то сравнение строковое, если не ноль, то выше. Ну и пишешь для сортировки ребенка Collator своего. Можешь прямо на месте анонимным классом.

Автор: gelo86 25.12.2009, 23:32
Да но есть http://java.sun.com/j2se/1.5.0/docs/api/java/text/RuleBasedCollator.html. Невозможно ли както описать rule, где будет указанно что некотарые строки идут первими а остальные по A-Z ? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)