zoukankan      html  css  js  c++  java
  • ArrayList的使用方法

    从百度上看到关于ArrayList的使用方法,就自己照着敲了一遍记录下来

     ArrayList就是动态数组,Java的链表类

    按照顺序向ArrayList中添加数据。

    将a添加到list中:list.add("a");

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println(list);
    
        }
    
    }

    结果:

    [a, b]

    在第N个数据后面添加一个数据

    在第1个元素后面添加 e  :list.add(1, "e");

    注意:ArrayList中必须有足够多的数据,例如ArrayList中没有任何数据,这个时候使用arraylist.add(1, "E");就会出现java.lang.IndexOutOfBoundsException异常。

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println(list);
            list.add(1,"c");
            System.out.println(list);
    
        }
    
    }

    结果:

    [a, b]
    [a, c, b]

    将一个ArrayList中的所有数据添加到另外一个ArraList中

    将list1中的全部数据添加到list中:list.addAll(list1);

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            ArrayList<String> list1 = new ArrayList<String>();
            list1.add("c");
            list1.add("d");
            System.out.println("list1:"+list1);
            list.addAll(list1);
            System.out.println("list1添加到list中:"+list);
        }
    
    }

    结果:

    list:[a, b]
    list1:[c, d]
    list1添加到list中:[a, b, c, d]

    将一个ArrayList中的所有数据添加到另外一个ArraList中的第N个元素之后。

    将list1中的全部数据添加到list中的第2个元素之后:list1.addAll(2,list);

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            ArrayList<String> list1 = new ArrayList<String>();
            list1.add("c");
            list1.add("d");
            System.out.println("list1:"+list1);
            list.addAll(1,list1);
            System.out.println("list1添加到list中:"+list);
        }
    
    }

    结果:

    list:[a, b]
    list1:[c, d]
    list1添加到list中:[a, c, d, b]

    按照位置删除单个数据

    将list中第2个数据删除:list.remove(2);

    注意:位置从0开始计算(0、1、2、3...)

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            list.remove(0);
            System.out.println("删除后list:"+list);
    
        }
    
    }

    结果:

    list:[a, b]
    删除后list:[b]

    按照内容删除单个数据

    用法:将list中的数据"b"删除:list.remove("b");

    注意:对于int,String,char这样的原始类型数据是可以删除的,但是对于复杂对象,例如自己编写的User类、Person类对象,需要重写equals方法,负责remove方法无法匹配删除。

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            list.remove("a");
            System.out.println("删除后list:"+list);
        }
    
    }

    结果:

    list:[a, b]
    删除后list:[b]

    按照集合同时删除多个数据

    按照list1中的数据来删除list:list.removeAll(list1);

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            ArrayList<String> list1 = new ArrayList<String>();
            list1.add("c");
            list1.add("b");
            System.out.println("list1:"+list1);
            list.removeAll(list1);
            System.out.println("删除后list:"+list);
            
        }
    
    }

    结果:

    list:[a, b]
    list1:[c, b]
    删除后list:[a]

    清空ArrayList

    清空list:list.clear();

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            list.clear();
            System.out.println("清空后list:"+list);
            
        }
    
    }

    结果:

    list:[a, b]
    清空后list:[]

    修改指定位置的元素

    将list中第2个元素,修改为M:list.set(2, "M");

    注意:位置从0开始计算(0、1、2、3...)

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            list.set(1,"M");
            System.out.println("修改后list:"+list);
            
        }
    
    }

    结果:

    list:[a, b]
    修改后list:[a, M]

    获取指定位置元素

    获取list中第1个元素:String ele = list.get(0);

    注意:位置从0开始计算(0、1、2、3...)

    package com.arraylist.demo;
    
    import java.util.ArrayList;
    
    public class add {
    
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<String>();
            //添加数据
            list.add("a");
            list.add("b");
            System.out.println("list:"+list);
            String ele = list.get(0);
            System.out.println("获取的值:"+ele);
            
        }
    
    }

    结果:

    list:[a, b]
    获取的值:a

    拷贝结束,继续我的代码修炼之路了~ ~ ~

  • 相关阅读:
    Android SDK manager 无法更新解决方法
    platform_set_drvdata的源码分析
    从一个男人身上看出他的修养和抱负
    更换RAID1硬盘过程记录
    无线路由器连接有线路由器设置
    在ASP.NET下实现数字和字符相混合的验证码 (转载)
    不走寻常路 设计ASP.NET应用程序的七大绝招
    .NET 2005 使用MasterPages实现Web窗体模板
    用Visual C# 实现四则混合运算(转载)
    如何实施好CRM (转载)
  • 原文地址:https://www.cnblogs.com/liurg/p/7928045.html
Copyright © 2011-2022 走看看