|
发表于 2020-3-11 11:03:26
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 邑本正今 于 2020-3-11 11:33 编辑
public class TreeMapDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
//创建TreeMap集合,键是Character,值是Integer// TreeMap<Character, Integer> hm = new TreeMap<Character, Integer>();
for (int i = 0; i < line.length(); i++) {
char key = line.charAt(i); //拿得到的每一个字符作为键到TreeMap集合中去找对应的值,看其返回值//
Integer value = hm.get(key);
if (value == null) {
hm.put(key,1);
} else {
value++;
hm.put(key,value);
}
}
}
}
问题:为什么创建好TreeMap集合后,不用先put往集合里添加元素,就可以用 得到的字符作为键在集合里找值?
小小小萌新初学java,望大佬们赐教!
你创建TreeMap之后,TreeMap实际是一个空的键值对,里面没有任何的东西。当你想用任何键去查找的时候,返回的应该都是null。就好比字符串"wew"在这段程序里跑,for循环遍历到第一个字符'w'时,实际上map还是空的,直接返回null,然后经过判断语句将<'w',1>插入到这个键值对中,‘e’字母也是同理,只不过遍历到‘e’字母时,map中已经有了‘w’这个键。后面再遍历到‘w’,就更新键值对。希望我的理解能帮到你。
|
|