gpt4 book ai didi

java - Java有这样的字母顺序吗?

转载 作者:行者123 更新时间:2023-12-05 00:51:54 25 4
gpt4 key购买 nike

就像在这个例子中一样,https://www.duden.de/rechtschreibung/Regen_Niederschlag ,单词按以下方式排序:"regelwidrig, Regelwidrigkeit, Regelzeit, regen, Regen, Regenabflussrohr, Regenanlage, regenarm, Regenbö, Regenbogen..."也就是说,它是比 Collections.Sort() 自动执行的“更不区分大小写”的排序。小写单词出现在大写单词之前,例如“regen, Regen”。

ArrayList<String> regen = new ArrayList<String>( );
for(String x : new String[]{"regelwidrig", "Regelwidrigkeit", "Regelzeit",
"regen", "Regen", "Regenabflussrohr",
"Regenanlage", "regenarm", "Regenbö", "Regenbogen"}) {
regen.add(x);
}

Collections.sort(regen) 响应:

[Regelwidrigkeit, Regelzeit, Regen, Regenabflussrohr, Regenanlage, Regenbogen, Regenbö,
regelwidrig, regen, regenarm]//小写结尾

我可以为此实现一个比较器,但我宁愿使用一行代码来获得这种排序方式。如:Collections.SomeMethod(regen);或 Collections.Sort(regen, some_extra_parameter);但是很遗憾,经过深度谷歌搜索后我没有找到。

最佳答案

整理者

使用 Collat​​or 类进行区域敏感的 String 比较。

具体来说,Java 支持德语 collators :

Collator collator = Collator.getInstance(Locale.GERMAN);
regen.sort(collator);

例子:

List<String> inputs = new ArrayList <>(
List.of( "regelwidrig", "Java", "Regelwidrigkeit", "Regelzeit", "regen", "Regen", "Regenabflussrohr", "Regenanlage", "regenarm", "Regenbö", "Regenbogen" )
);
inputs.sort( java.text.Collator.getInstance( Locale.GERMAN ) ) ;

[Java, regelwidrig, Regelwidrigkeit, Regelzeit, regen, Regen, Regenabflussrohr, Regenanlage, regenarm, Regenbö, Regenbogen]

关于java - Java有这样的字母顺序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70900373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com