List 的删除

烈酒焚心 提交于 2019-12-03 07:21:37

List 不要在循环中使用remove 删除。可以新加一个List ,把符合条件的元素加入到这个list 中,然后调用removeAll 。

比如:(增强for 循环需要判断 list 是否是 null (可以是空的list,但是不可是null ,否则会报NullPointerException))

Apple apple1 = new Apple("1","tom","20");
        Apple apple2 = new Apple("2","jack","30");
        Apple apple3 = new Apple("2","dick","30");
        List<Apple> arr1 = new ArrayList<>();
        arr1.add(apple1); arr1.add(apple2);arr1.add(apple3);
        
        AppleDTO ato1 = new AppleDTO("tom","30","male");
        AppleDTO ato2 = new AppleDTO("dick","30","female");
        List<AppleDTO> arr2 = new ArrayList<>();
        arr2.add(ato1);   arr2.add(ato2);
        
        List<Apple> arr = new ArrayList<>();
        for(Apple a1: arr1) {
            for(AppleDTO a2:arr2) {
                if(a1.getName().equals(a2.getName())) {
                    arr.add(a1);
                    break;
                }
                
            }
        }
        
        arr1.removeAll(arr);

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!