自己对map的一点困惑
来源:5-4 复杂的穿针引线 Swap Nodes in Pairs
小慕0436321
2019-07-04
common common1=new common(3,0.2);
common common2=new common(3,0.2);
Map<common,Integer>map=new HashMap<>();
int i=0;
map.put(common1,i+1);
map.put(common2,i+1);
System.out.println(map.get(common2)
String str1=new String(“123”);
String str2=new String(“123”);
Map<String,Integer>map=new HashMap<>();
int i=0;
map.put(str1,i+1);
map.put(str2,i+2);
System.out.println(map.get(str2));
如果是我自己定义的类,打印出来为1,如果是String类用用同样的方式,然后就为2
,难道自定义的类就不能用在map<> 里面了,自定义的类,构造参数值都一样,可键值却不一样,而String 就完全和自定义不同,老师能解释下吗
写回答
1回答
-
liuyubobobo
2019-07-04
你的代码中:
map.put(common1,i+1);
map.put(common2,i+1);因为i初始为0,最终common2对应 0 + 1 = 1
map.put(str1,i+1);
map.put(str2,i+2);因为i初始为0,最终str2对应 0 + 2 = 2
继续加油!:)
032019-07-04
相似问题