您的位置:首页技术文章
文章详情页

Java中List的contains方法为什么不能实现二维数组中的去重?

浏览:86日期:2024-02-07 16:53:24

问题描述

请教为什么以下代码会返回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中的元素是数组时,如何实现去重?谢谢回答

问题解答

回答1:

内部是用 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; }

可以改写 比较所有元素的吧

标签: java
相关文章: