Пример кода:
Код: Выделить всё
List countries = List.of("Észak-korea", "Észtország", "Eritrea", "Etiópia", "El Salvador");
Locale locale = Locale.of("hu", "HU");
Collator collator = Collator.getInstance(locale);
List orderedCountries = countries.stream().sorted(collator).toList();
System.out.println(orderedCountries);
Код: Выделить всё
[El Salvador, Eritrea, Észak-korea, Észtország, Etiópia]
Код: Выделить всё
[El Salvador, Eritrea, Etiópia, Észak-korea, Észtország]
Я использую OpenJDK 21 (21.0.2).
Почему существует набор правил для венгерского языка, который не соответствует правилам венгерского языка? Я не хочу создавать собственные правила для реализации той функциональности, которая уже должна быть там. Возможно, на этот вопрос есть хороший ответ. Или есть другой метод достижения ожидаемого результата с помощью библиотек Java по умолчанию?
Изменить: Похоже, я был неправ и не знаю своего языка. Спасибо за ответы. При расстановке слов по порядку гласные считаются равными своим ударным аналогам. Итак, E = É.
Подробнее здесь: https://stackoverflow.com/questions/798 ... and-%c3%89
Мобильная версия