【问题标题】:How to remove all elements from List1 which are contained in List2 if List2 contains some of element which are not present in List1? [duplicate]如果 List2 包含 List1 中不存在的一些元素,如何从 List1 中删除 List2 中包含的所有元素? [复制]
【发布时间】:2020-11-12 21:31:09
【问题描述】:

例如,

List<String> list1 = Arrays.asList("a", "b", "c","d");
List<String> list2 = Arrays.asList("a", "b", "e");

我想从 list1 中删除 list2 中的所有元素,所以我做了什么

list1.removeAll(List2);
return list1;

但我得到了 UnsupportedOperationException. 那么是不是我犯了一些错误,或者有什么方法可以用于这种情况。

【问题讨论】:

    标签: java arraylist


    【解决方案1】:

    您需要一个数组列表来执行removeAllArrays.asListnew ArrayList 是有区别的。

    参考 - Difference between Arrays.asList(array) and new ArrayList<Integer>(Arrays.asList(array))

    public static void main(String[] args){
            List<String> list1 = new ArrayList<>(Arrays.asList("a", "b", "c","d"));
            List<String> list2 = Arrays.asList("a", "b", "e");
            list1.removeAll(list2);
            System.out.println(list1);
    }
    

    输出:

    [c, d]
    

    【讨论】:

      猜你喜欢
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 2020-01-09
      • 2021-07-10
      • 2018-07-07
      相关资源
      最近更新 更多