深圳网站建设选哪家,关于国家对网站建设,分包合同建设局网站下载,算命先生的网站怎么做先说结论#xff1a;Map使用数组作为key#xff0c;存放的是其地址
我们用如下代码进行测试#xff1a; 我们的本意是
将[‘a’,‘b’,‘c’]的字符数组存放入map且对应的value为1查询map中是否包含key为[‘a’,‘b’,‘c’]的键值对将[‘a’,‘b’,‘c’]的字符数组对应的…先说结论Map使用数组作为key存放的是其地址
我们用如下代码进行测试 我们的本意是
将[‘a’,‘b’,‘c’]的字符数组存放入map且对应的value为1查询map中是否包含key为[‘a’,‘b’,‘c’]的键值对将[‘a’,‘b’,‘c’]的字符数组对应的value替换至2
Mapchar[], Integer map new HashMap();
char[] c1 new char[]{a, b, c};
char[] c2 new char[]{a, b, c};
map.put(c1, 1);
System.out.println(map.containsKey(c2));
map.put(c2, 2);
map.forEach((k, v) - System.out.println(k v));运行结果为错误 即Map事实上在存放数组时存放的是其地址因此c1与c2虽然在值上相等但是在Map中是两个不同的key。 如果希望完成上述功能应该这样写
MapString, Integer map new HashMap();
char[] c1 new char[]{a, b, c};
String s1 String.valueOf(c1);
char[] c2 new char[]{a, b, c};
String s2 String.valueOf(c1);
map.put(s1, 1);
System.out.println(map.containsKey(s1));
map.put(s2, 2);
map.forEach((k, v) - System.out.println(k v));运行结果正确