Heim > Fragen und Antworten > Hauptteil
请教为什么以下代码会返回false?
List list = new ArrayList();
int[][] arr = {{-1, -1, 2}, {-1, 0, 1}};
list.add(arr[0]);
list.add(arr[1]);
int[] temp = {-1, 0, 1};
return list.contains(temp);
当list中的元素是数组时,如何实现去重?谢谢回答
PHP中文网2017-04-18 10:50:06
内部是用 equals 的
public boolean contains(Object o) {
return indexOf(o) >= 0;
}
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
return -1;
}
可以改写 比较所有元素的吧