文章详情页
Java中List的contains方法为什么不能实现二维数组中的去重?
浏览:161日期: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
相关文章:
1. javascript - angularjs怎么获取repeat里的某些$index值?2. html5和Flash对抗是什么情况?3. java - spring-security与微信登录的问题?4. html5 - iphone5手机,微信中无法打开优酷链接?5. javascript - 移动端,当出现遮罩层的时候,遮罩层里有div是超出高度scroll的,怎么避免滑动div的时候,body跟随滑动?6. docker-compose 为何找不到配置文件?7. 用Java8的 stream 操作外部集合是否存在并发问题?8. css3 - 请问,如何写这个颜色的(渐变),并且在移动端自适应9. javascript - 求解答:实例对象调用constructor,此时constructor内的this的指向?10. MySQL启动错误
排行榜
