Java中如何判断一个集合中的一个元素不在另外一个集合中?把不存在的元素移除

判断一个元素在集合中很容易,只须要遍历这个集合,而后与每一个值进行比较,若是有相等的,那么就存在在集合中,而后反过来,就是不存在集合中的,找到它好像挺容易,可是写起代码来好像有点绕,那么,如今就把它写出来: java

package org.luzhen.test;

import java.util.ArrayList;
import java.util.List;

/**
 * @Author: luzhen
 * @Date: 2019-02-22 15:31
 * @Version 1.0
 */
public class P {

    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<>();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        list1.add(5);

        List<Integer> list2 = new ArrayList<>();
        list2.add(3);
        list2.add(4);
        list2.add(5);
        list2.add(3);//包含重复元素

        for(int i=0;i<list2.size();i++){
            for(int j=0;j<list1.size();j++){
                if(list2.get(i).equals(list1.get(j))){
                    list1.remove(list1.get(j));
                }
            }
        }

        for(int a=0;a<list1.size();a++){
            System.out.println(list1.get(a));
        }
    }
}