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

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

 

posted @ 2017-11-30 11:15  蓉啊  阅读(2434)  评论(1编辑  收藏  举报