![](/img/trans.png)
[英]Check if an ArrayList contains the same element as another 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.