Посмотрите на пример на норвежском языке в JavaDoc для класса RuleBasedCollator .
Исходя из этого, я создал этот пример, который ставит Å перед А на основе разницы в акцентах - обратите внимание на использование ';' поставить \ u00E5 перед A. Так что это работает для вашего примера ввода, но вам нужно добавить другие символы с нормированным акцентом на основе вашего знания языка, чтобы завершить строку сравнения norwegian
.
String norwegian = "< a, \u00E5;A< b,B< c,C< d,D< e,E< f,F< g,G< h,H< i,I< j,J" +
"< k,K< l,L< m,M< n,N< o,O< p,P< q,Q< r,R< s,S< t,T" +
"< u,U< v,V< w,W< x,X< y,Y< z,Z";
RuleBasedCollator myNorwegian = new RuleBasedCollator(norwegian);
List<String> words =
Arrays.asList("Arendal Bergen Drammen \u00E5lesund".split("\\s"));
System.out.println(words);
Collections.sort(words, myNorwegian);
System.out.println(words);