zoukankan      html  css  js  c++  java
  • List的遍历和删除元素

        /**
         * 遍历list的方法
         * @param args
         */
        public static void main(String[] args) {
            List<String> list = new ArrayList<String>();
            list.add("111");
            list.add("222");
            list.add("333");
            list.add("222");
            list.add("444");
            
            // 1. for循环
            //       1.1 索引值  i 递增
            //        优点:可以获取索引值
            System.out.println("=======1.for循环:1.1 索引值  i 递增======");
            for (int i = 0; i < list.size(); i++)
            {
                System.out.println(list.get(i));
            }
            //    1.2 索引值 i 递减
            //      优点:可以获取索引值;可以删除元素
            System.out.println("=======1.for循环:1.2 索引值 i 递减======");
            for (int i = list.size() -1; i >= 0; i--)
            {
                System.out.println(list.get(i));
                if ("444".equals(list.get(i)))
                {
                    list.remove(i);
                }
            }
            
            // 2. 增强for循环
            //    缺点:不能获取索引值,也不能删除元素
            System.out.println("=======2.增强for循环======");
            for (String str : list)
            {
                System.out.println(str);
            }
            
            // 3. 迭代器 (原理:生成一个链表,链表的一个节点保存信息,节点的数据部分保存list的元素地址,通过指针实现链表的遍历,从而实现list的遍历。)
            //           优点:可以删除元素
            //          缺点:不可以获取索引值
            System.out.println("=======3.迭代器======");
            Iterator<String> itr = list.iterator();
            System.out.println("删除了如下的元素:");
            while (itr.hasNext())
            {
                // 一次判断hasNext(),一次next()
                String str = itr.next();
                if ("222".equals(str))
                {
                    System.out.println(str);
                    itr.remove();
                }
            }
            
            System.out.println("打印list最后剩下的元素:");
            Iterator<String> itr2 = list.iterator();
            for ( ; itr2.hasNext(); )
            {
                System.out.println(itr2.next());
            }
            
        }

    运行结果:

    =======1.for循环:1.1 索引值 i 递增======
    111
    222
    333
    222
    444
    =======1.for循环:1.2 索引值 i 递减======
    444
    222
    333
    222
    111
    =======2.增强for循环======
    111
    222
    333
    222
    =======3.迭代器======
    删除了如下的元素:
    222
    222
    打印list最后剩下的元素:
    111
    333

  • 相关阅读:
    centos安装nginx
    Vue练习十一:02_05_函数传参改变Div任意属性的值
    Vue练习十:02_04_弹出层
    Vue练习九:02_03_求数组中所有数字的和
    Vue练习八:02_02_点击div显示内容
    Vue练习七:02_01_百度输入法
    Vue练习六:01_06_记住密码提示框
    Vue练习五:01_05_鼠标移入改变样式鼠标移出恢复
    Vue练习四:01_04_点击将DIV变成红色
    Vue练习三:01_03_函数传参
  • 原文地址:https://www.cnblogs.com/wenlj/p/4394295.html
Copyright © 2011-2022 走看看