判断一个集合的元素不在另一个集合中,并移除

直接上代码

    /**
     * 剔除在list2不在list1的元素
     * @param list1 
     * @param list2 
     * @return
     */
    public static List<String> getTableNameList(List<String> list1,List<String> list2) {
    
    
        if (list1 != null && list1.size() > 0) {
    
    

            for (int i = 0; i < list1.size(); i++) {
    
    
                boolean flag = true;
                for (int j = 0; j < list2.size(); j++) {
    
    
                    String s = list1.get(i);
                    String s1 = list2.get(j);
                    if (s.equals(s1)) {
    
    
                        flag = false;
                        break;
                    }
                }
                if (flag) {
    
    
                    list1.remove(i);
                    i=i-1;
                }
            }
        }

        return list1;
    }

调用

public static void main(String[] args) {
    
    

        List<String> tableNames = new ArrayList<>();
        List<String> strings = new ArrayList<>();


        tableNames.add("202012");
        tableNames.add("202011");
        tableNames.add("202010");
        tableNames.add("202009");


        strings.add("202012");
        strings.add("202011");
        strings.add("202010");


        List<String> tableNameList = getTableNameList(tableNames, strings);

        for (String s : tableNameList) {
    
    
            System.out.println("s = " + s);
        }
    }

Guess you like

Origin blog.csdn.net/weixin_45352783/article/details/111629507