ArrayList

26 阅读1分钟

1.为什么要有集合?

  • 数组创建之后,长度就固定了。
  • 集合可以自动扩容

2.集合的特点

  • 不能直接存放基本数据类型
图片.png

3.集合增删改查及遍历


package xzx.arraylistdemo;

import java.util.ArrayList;
public class ArrayListDemo1 {
    public static void main(String[] args){
        //创建集合对象
        //泛型:限定集合中存储数据的类型
        // ArrayList<String> list = new ArrayList<String>();
        //JDK7之后也可以直接
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list); //输出[],因为ArrayList是已经写好的一个类,所以在底层进行了处理
        //不会输出地址值,而是会直接展示内容,且内容用[]包围

        //增加操作
        boolean result = list.add("aaa"); //永远return ture
        System.out.println(result); //true
        System.out.println(list);//[aaa]
        list.add("aaa");
        list.add("ccc");
        System.out.println(list);//[aaa, aaa, ccc]

        //删除操作 remove(String str) 如果删除的元素不存在,返回false,但是不报错
        list.remove("aaa");
        System.out.println(list);//[aaa, ccc]

        //删除操作 remove(int index)并且会返回删除的元素
        String str = list.remove(1);
        System.out.println(str);//ccc
        System.out.println(list);//[aaa]

        //修改元素 set  返回被覆盖的元素
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        String str1 = list.set(1,"eee");
        System.out.println(str1); //bbb
        System.out.println(list);//[aaa, eee, ccc, ddd]

        //查询元素
        String str2 =list.get(1);
        System.out.println(str2); //eee

        //集合的遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

4.基本数据类型对应的包装类

图片.png

package xzx.arraylistdemo;

import java.util.ArrayList;
public class ArrayListDemo3 {
    public static void main() {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        System.out.print("[");
        for (int i = 0; i < list.size(); i++) {

            if(i == list.size() - 1){
                System.out.print(list.get(i)+"]");
            }
            else{
                System.out.print(list.get(i)+",");
            }
        }


    }
}