Java中使用数组作为Map的键
使用数组作为Map的Key,实际Map中Key的值是数组的地址
如果两个数组的元素值相同,但在Map中并不是同一个Key。如下代码实例:

运行结果为:

即Map事实上在存放数组时,存放的是其地址,因此c1与c2虽然在值上相等,但是在Map中是两个不同的key。
解决办法:
使用String作为Key来代替数组:
代码如下:

运行结果为:

如果两个数组的元素值相同,但在Map中并不是同一个Key。如下代码实例:

运行结果为:

即Map事实上在存放数组时,存放的是其地址,因此c1与c2虽然在值上相等,但是在Map中是两个不同的key。
使用String作为Key来代替数组:
代码如下:

运行结果为:
