簡體   English   中英

Android 檢查 Arraylist 是否包含另一個 Arraylist?

[英]Android check if Arraylist contains another Arraylist?

我不確定我做錯了什么,我嘗試了幾乎所有來自 SO 的解決方案,但它們無法正常工作。 我有幾個ArrayList<Integer>試圖與另一個ArrayList<Integer>進行比較,但代碼一直告訴我沒有匹配項,即使我直接創建了一個匹配項。

private ArrayList<Integer> list_of_twos = new ArrayList<Integer>(Arrays.asList(2,2,2));
public int getValue(Arraylist<Integer> currentList){
   if (currentList.contains(list_of_twos)) 
   {
       return 6;
   }
}

我正在我的 oncreate 中創建 currentList 以進行這樣的測試

private ArrayList<Integer> testCurrentList = new ArrayList<>();
testCurrentList.add(2);
testCurrentList.add(2);
testCurrentList.add(2);

int value = getValue(testCurrentList);

我試過containsall但它也給了我誤報。

如果在 ArrayList 元素之間找到參數對象,則ArrayList.contains(Object)方法返回 true。 由於您有一個ArrayList Integer但您將ArrayList<Integer>作為參數傳遞,該函數將始終返回 false,因為它將整數與完整數組進行比較。

要解決此問題,您可以使用.equals()方法: if (currentList.equals(list_of_twos))

或者,您可以使用循環(或流)來實現自己的比較函數,以遍歷一個數組的元素並將它們與另一個數組進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM