文章详情页
Java中List的contains方法为什么不能实现二维数组中的去重?
浏览:181日期: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. css - 使用blur()滤镜为什么有透明的效果2. android - 安卓做前端,PHP做后台服务器 有什么需要注意的?3. Android下,rxJava+retrofit 并发上传文件和串行上传文件的效率为什么差不多?4. python的bs4如何筛选出h1标签中的内容5. javascript - 移动端H5页面禁止缩放了,在浏览器上仍然可以缩放6. javascript - JS设置Video视频对象的currentTime时出现了问题,IE,Edge,火狐,都可以设置,反而chrom却...7. angular.js - 通过数据中children的个数自动生成能点击展开的div8. docker gitlab 如何git clone?9. java - spring-data Jpa 不需要执行save 语句,Set字段就可以自动执行保存的方法?求解10. docker-compose 为何找不到配置文件?
排行榜
