[英]How can I delete elements from list
我有 2 個列表:
第一個:{1, 2, 3, 4, 5},
第二:{2, 4}
如何從第一個列表中刪除包含在第二個列表中的元素? 結果我應該有第三個列表 {1, 3, 5}
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(4);
list.removeAll(list2);
System.out.println("list = " + list);
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
List<Integer> list2 = new ArrayList<>();
list2.add(2);
list2.add(4);
for(Integer i: list2){
if (list.contains(i)){
int indexOfi = list.indexOf(i);
list.remove(indexOfi);
}
}
System.out.println("list = " + list);
這種方法的局限性是:它只能刪除list2
元素在list
的第一次出現。
例如:列表:[1,2,2,3,4,5],列表2:[2,4]。 結果將是 [1,2,3,5]。
要刪除重復項,您可以將if (list.contains(i))
更改為while (list.contains(i))
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.