zoukankan      html  css  js  c++  java
  • Java 删除List元素的正确方式

    方式一:使用Iterator的remove()方法

    public class Test {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("aa");
            list.add("bb");
            list.add("cc");
            Iterator<String> it = list.iterator();
            while(it.hasNext()){
                String str = (String)it.next();
                if("aa".equals(str)){
                    it.remove();
                }        
            }
            System.out.println(list.size());
        }
    }

    方式二:使用List的remove()方法,注意list.size()的位置

    public class Test {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("aa");
            list.add("bb");
            list.add("cc");
            for (int i = list.size() - 1; i >= 0; i--) {
                String str = list.get(i);
                if ("aa".equals(str)) {
                    list.remove(str);
                }
            }
            System.out.println(list.size());
        }
    }

    方式三:使用CopyOnWriteArrayList

    public class Test {
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            list.add("aa");
            list.add("bb");
            list.add("cc");
            CopyOnWriteArrayList<String> cowList = new CopyOnWriteArrayList<String>(list);
            for (String str : cowList) {
                if ("aa".equals(str)) {
                    cowList.remove(str);
                }
            }
            System.out.println(cowList.size());
        }
    }
  • 相关阅读:
    makefile ifeq ($(LANG),) 判断操作系统
    MIPS 指令集速查
    ps ef|grep mh* 命令
    ulimit c unlimited 命令
    kill 9 2402 命令
    chmod R 777 命令
    计算机网络总结
    source 命令
    ./ 命令
    reboot f 命令
  • 原文地址:https://www.cnblogs.com/lostyears/p/8809336.html
Copyright © 2011-2022 走看看