数组作为key,只是数组的地址引用的hashcode,Arrays.hashcode静态方法倒是能够根据数组的内容创建相应的hashcode,问题是hashmap用数组做key时用的是前者的hashcode。所以应避免使用数组为键。如果一定要用数组来作为map的key值的话,我想到两种方法:
1,将数组,先转化为string
2,用list代替
类似地,PriorityQueue<int[]>调用remove(o)方法时应该也不能达到预期,因为其遍历寻找o时使用的是o.equals方法。而数组的equals方法直接继承自Object类,即等同于==