gpt4 book ai didi

java - 使用 IgnoreCase 按键对 Map 进行排序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:37 28 4
gpt4 key购买 nike

嗯,我测试了 TreeMap,但它没有考虑字符串比较的 IgnoreCase。我需要按字典顺序排序并忽略大小写。还有其他办法吗?

谢谢,可行(TreeMap(比较器 c))。但是,我还有一个问题:

public final Comparator<Object> STR_IGN_CASE_COMP = new Comparator<Object>() {

public int compare(Object h1, Object h2) {
String s1 = h1.getId();
String s2 = h2.getId();
return s1.compareToIgnoreCase(s2);
}
}; //STR_IGN_CASE_COMP

如何将比较器通用化以处理不同的对象?假设所有人都有 getId() 方法。

谢谢,马丁

最佳答案

您想使用 ComparatorTreeMap constructor .特别是看 String.CASE_INSENSITIVE_ORDER .

TreeMap map = new TreeMap(String.CASE_INSENSITIVE_ORDER);

使用 Collator或自定义 Comparator 可能在非英语语言环境中更适合您,或者如果您需要更复杂的排序。

关于java - 使用 IgnoreCase 按键对 Map<String, Object> 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1691564/

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