首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一个好的方法来实现一个Map<String,?> get和put忽略的情况?

有没有一个好的方法来实现一个Map<String,?> get和put忽略的情况?
EN

Stack Overflow用户
提问于 2008-10-17 15:07:03
回答 7查看 24.5K关注 0票数 64

有没有一个很好的方法来让Map<String, ?>获取和放置忽略的情况?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-12-10 04:55:41

TreeMap扩展了映射并支持自定义比较器。

字符串提供了默认的不区分大小写的比较器。

所以:

代码语言:javascript
复制
final Map<String, ...> map = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);

比较器不考虑区域设置。在它的JavaDoc上阅读更多关于它的信息。

票数 69
EN

Stack Overflow用户

发布于 2008-10-17 15:16:35

您可以使用Apache中的CaseInsensitiveMap

票数 42
EN

Stack Overflow用户

发布于 2008-10-17 15:23:28

是否有可能实现自己的Map覆盖put/get方法?

代码语言:javascript
复制
public class CaseInsensitiveMap extends HashMap<String, String> {
    ...
    put(String key, String value) {
       super.put(key.toLowerCase(), value);
    }

    get(String key) {
       super.get(key.toLowercase());
    }
}

这种方法不会强迫你改变你的"key“类型,而是你的Map实现。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/212562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档