gpt4 book ai didi

java - 自定义HashMap中的get方法

转载 作者:行者123 更新时间:2023-12-01 16:32:54 24 4
gpt4 key购买 nike

Possible Duplicate:
Case insensitive string as HashMap key

我有一个以字符串为键、以整数为值的 HashMap 。现在,我使用 get 方法来获取值,其中字符串与键值匹配。

<小时/>
HashMap<String,Integer> map= new HashMap<String,Integer>();
// Populate the map

System.out.println(map.get("mystring"));
<小时/>

我希望此字符串比较不区分大小写。我能做到吗?

<小时/>

例如,我希望它在以下情况下返回相同的结果:

<小时/>
map.get("hello");
map.get("HELLO");
map.get("Hello");

最佳答案

如果性能并不重要,您可以使用 TreeMap 。下面代码的输出:

1
6
6

请注意,您所需的行为不符合 Map#get contract :

More formally, if this map contains a mapping from a key k to a value v such that (key==null ? k==null : key.equals(k)), then this method returns v; otherwise it returns null. (There can be at most one such mapping.)

public static void main(String[] args) {
Map<String, Integer> map = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);

map.put("hello", 3);
map.put("HELLO", 6);
System.out.println(map.size());
System.out.println(map.get("heLLO"));
System.out.println(map.get("hello"));
}

关于java - 自定义HashMap中的get方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12587896/

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