【发布时间】:2010-12-19 10:54:05
【问题描述】:
public final Comparator<String> ID_IGN_CASE_COMP = new Comparator<String>() {
public int compare(String s1, String s2) {
return s1.compareToIgnoreCase(s2);
}
};
private Map< String, Animal > _animals = new TreeMap< String, Animal >(ID_IGN_CASE_COMP);
我的问题是,如何使用方法 get(id) 忽略给定的比较器。我希望地图按不区分大小写进行排序,但是当我通过给定键获取值时,我希望它区分大小写。
【问题讨论】:
-
这应该如何工作? TreeMap 需要表示两种不同的顺序。它不能那样做。
-
简短评论:您不必创建此 Comparator
它已存在于 java.lang.String 类中:String.CASE_INSENSITIVE_ORDER -
我没有看到问题。它将通过字符串键大小写敏感地获取值。
-
难道不能通过覆盖get方法来实现吗?
标签: java comparator treemap