java – 自定义排序字符串列表(遵循Chamorro语言排序规则)
发布时间:2020-05-24 09:50:10 所属栏目:Java 来源:互联网
导读:我正在尝试为太平洋岛屿语言(Chamorro)排序字符串列表.在这种语言中,Ng被认为是一个字母,它在字母表中的N之后.我如何对Nai和Nunu这两个单词列表进行排序,以便在Ng开头的单词之前出现? 更新 完整的字母表是: A, , B, Ch, D, E, F, G, H, I, K, L, M, N, , Ng
|
我正在尝试为太平洋岛屿语言(Chamorro)排序字符串列表.在这种语言中,Ng被认为是一个字母,它在字母表中的N之后.我如何对Nai和Nunu这两个单词列表进行排序,以便在Ng开头的单词之前出现? 更新 完整的字母表是: A,,B,Ch,D,E,F,G,H,I,K,L,M,N,,Ng,O,P,R,S,T,U,Y 除,及其小写版本外,其他字母上没有重音.单词可以包含撇号(例如o’mak),但它们不会影响排序顺序. Chamorro没有区域设置,因此我需要手动实现排序算法. 解决方法感谢Dirk Lachowski,我实施了一个有效的解决方案.这是我写的:static final String CHAMORRO_RULES = ("< a,A < , < b,B < ch,Ch < d,D < e,E < f,F < g,G < h,H < i,I < k,K < l,L "
+ "< m,M < n,N < , < ng,Ng < o,O < p,P < r,R < s,S < t,T < u,U < y,Y");
static final RuleBasedCollator CHAMORRO_COLLATOR;
static {
try {
CHAMORRO_COLLATOR = new RuleBasedCollator(CHAMORRO_RULES);
}
catch (ParseException pe) {
throw new RuntimeException(pe);
}
}
在我实现上面基于规则的collator后,我只是编写了以下排序方法: static void sort(List<String> words) {
Collections.sort(words,new Comparator<String>() {
@Override
public int compare(String lhs,String rhs) {
return Constants.CHAMORRO_COLLATOR.compare(lhs,rhs);
}
});
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 在Apache Web Server中评估的表达式语言
- java – 任何人都可以向我解释tools.jar(它绑在jdk / lib文
- 使用Java 9将自定义JMOD添加到模块路径
- java – 通过扩展类迭代Arraylist
- Servlet 下载文件代码
- Spring MVC+FastJson+hibernate-validator整合的完整实例教
- java – Eclipse(使用J2EE插件)不会将类文件构建到输出目录
- java – Collections.synchronizedMap(new LinkedHashMap()
- 基于Java堆内存的10个要点的总结分析
- Android监听Gps设置变化方法一
