- map中的key如果是字符串类型,是区分大小写的,这个使用的时候要注意。例如,下面的代码,分别使用了"java" 和"Java"作为key,会作为两个key来处理:
package com.thb;
import java.util.HashMap;
import java.util.Map;
public class Demo5 {
public static void main(String[] args){
Map<String, String> namesMap = new HashMap<>();
namesMap.put("java", "language");
namesMap.put("Java", "language");
System.out.println("映射的个数:" + namesMap.size());
}
}
运行输出:
映射的个数:2
- 如果在使用的时候想忽略大小写,可以将数据存入map的时候将key统一转换为小写,从map中查询的时候,也将key统一转换为小写,例如下面的代码:
package com.thb;
import java.util.HashMap;
import java.util.Map;
public class Demo5 {
public static void main(String[] args){
Map<String, String> namesMap = new HashMap<>();
// 存入的时候将key统一转化为小写
namesMap.put("java".toLowerCase(), "language");
namesMap.put("Java".toLowerCase(), "language");
System.out.println("映射的个数:" + namesMap.size());
// 从map中读取的时候也将key统一转化为小写
System.out.println(namesMap.get("JAVA".toLowerCase()));
}
}
运行输出:
映射的个数:1
language