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

    package test;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ListExercise {
        public static void main(String[] args){
            List<String> list=new ArrayList<String>();
            list.add("111");
            list.add("222");
            list.add("333");
            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的元素地址)
            //   优点:可以删除元素。
            //   缺点:不能获取索引值。
            System.out.println("=======3.迭代器======");
            Iterator<String> itr=list.iterator();
            while(itr.hasNext())
            {
                String str=itr.next();
                System.out.println(str);
                if("222".equals(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
    444
    =======1.for循环:1.2 索引值 i 递减======
    444
    333
    222
    111
    =======2.增强for循环======
    111
    222
    333
    =======3.迭代器======
    111
    222
    333
    ==========打印list最后剩下的元素==========
    111
    333

  • 相关阅读:
    PyQuery基本操作介绍
    JuPyter(IPython) Notebook中通过pip安装第三方Python Module
    PyQuery查询html信息
    Windows10 磁盘活动时间百分之百导致系统卡顿解决方法
    Django中文无法转换成latin-1编码的解决方案
    Spring Security核心概念介绍
    正则表达式之基本原理
    java基础类型源码解析之HashMap
    java基础类型源码解析之String
    java集合类型源码解析之PriorityQueue
  • 原文地址:https://www.cnblogs.com/gengaixue/p/5190310.html
Copyright © 2011-2022 走看看