您的位置:首頁技術文章
文章詳情頁

Java中List的contains方法為什么不能實現二維數組中的去重?

瀏覽:152日期: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
相關文章:
国产综合久久一区二区三区