吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1625|回复: 9
收起左侧

[学习记录] 【自学笔记】 Java基础 - ArrayList

[复制链接]
LongJL 发表于 2021-7-11 21:04

ArrayList

概述

  • java.util.ArrayList 是大小可变得数组的实现,存储再内的数据称为元素,此类提供一些方法操作内部存储的元素
  • ArrayList中可以不断添加元素,其大小也自动增长。

集合和数组的区别

  • 共同点:都说存储数据的容器
  • 不同点:数组的容量是固定的,集合的容量是可变的

构造方法

  • ArrayList():构造一个初始容量为10的空列表
  • ArrayList(Collection<? extends E> c):构造一个包含指定collection的元素列表,这些元素是按照该collection的迭代器返回他们的顺序排列的
  • ArrayList(int initialCapacity):构造一个具有指定初始容量的空列表

常用方法

  • public boolean add(E e):将指定的元素追加到此列表的末尾。
  • public void add(int index,E element)在此列表中的指定位置插入指定的元素。
  • public E get(int index):返回此列表中指定位置的元素。
  • public E remove():集合当中删除元素,参数就是索引编号,返回值就是被删除的元素。将任何后续元素移动到左侧(从其索引中减去一个元素)。
  • public boolean remove(Object o):从列表中删除指定元素的第一个出现(如果存在)。将任何后续元素移动到左侧(从其索引中减去一个元素)。
  • public int size():获取集合的尺寸长度,返回值是集合当中包含的元素个数。
  • public E set(int index,E element):用指定的元素替换此列表中指定位置的元素。
  • public void clear()从列表中删除所有元素。 此呼叫返回后,列表将为空。
    注:在做遍历删除的时候要特别注意"remove"方法,因为它在删除元素后,后面的元素会往前走一位

    public class Demo2ArrayList {
    public static void main(String[] args) {
        // 创建集合容器的对象
        ArrayList list = new ArrayList();
    
        // add方法想容器中添加数据
        list.add("a");
        list.add(123);
        list.add(false);
    
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
    }
public class Demo3ArrayList {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        // public boolean add(E e):将指定的元素追加到此列表的末尾。
        list.add("111");
        list.add("222");
        list.add("333");
        list.add("444");
        // public void add(int index,E element)在此列表中的指定位置插入指定的元素。
        list.add(0,"666");

        System.out.println(list);

        // public E get(int index):返回此列表中指定位置的元素。
        System.out.println(list.get(2)); // 222

        // public E remove():从集合当中删除元素,参数就是索引编号,返回值就是被删除的元素。
        list.remove(2);
        System.out.println(list); // [666, 111, 333, 444]

        // public E remove():集合当中删除元素,参数就是索引编号,返回值就是被删除的元素。
        list.remove("111");
        System.out.println(list);  // [666, 333, 444]

        // public int size():获取集合的尺寸长度,返回值是集合当中包含的元素个数。
        System.out.println(list.size()); //3

        // public E set(int index,E element):用指定的元素替换此列表中指定位置的元素。 
        list.set(1,"888");
        System.out.println(list); // [666, 888, 444]

        // public void clear()从列表中删除所有元素。 此呼叫返回后,列表将为空。
        list.clear();
        System.out.println(list);  // 空 
    }
}

集合类型限制

  • ArrayList<String> list = new ArrayList<>; 创建了一个ArrayList集合,集合的名称是list,里面装的全都是string类型的数据。备注:从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写的!
  • <>泛型:对集合容器存储的数据类型进行限制

注意事项

  • 集合容器如果没有加入<>,就可以存储任意数据类型
  • 对于ArrayList集合来说,直接打印得到的不算地址值,而是内容。
  • 如果内容是空,得到的是空的中括号[];
  • 添加的数据必须和类型相匹配!!!!!
  • 泛型:装在集合当中的元素,全都是统一的类型!泛型只能是引用类型,不能是基本类型。

拓展

ArrayList集合存储基本类型:
使用基本类型对应的包装类:

基本类型 包装类(引用类型,包装类都位于java.lang包下)
byte Byte
short Shoot
int Integer 【特殊】
long Long
float Floot
double Double
char Character  【特殊】
boolean Boolean

注:

  • 从JAD 1.5+开始,支持自动装箱、自动拆箱。
    自动装箱:基本类型-->包装类型
    自动拆箱:包装类型-->基本类型

免费评分

参与人数 3吾爱币 +1 热心值 +3 收起 理由
seeyoubug + 1 + 1 热心回复!
gcq + 1 谢谢@Thanks!
烟雨成林 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

default_0419 发表于 2021-7-11 22:56
同样也在学习。支持
 楼主| LongJL 发表于 2021-7-11 22:58
baren 发表于 2021-7-12 08:40
silent小泷 发表于 2021-7-12 08:45
与君共勉
 楼主| LongJL 发表于 2021-7-12 09:22

共同进步
MissBanana 发表于 2021-7-12 09:26
加油!(来自一个四年java狗的鼓励
 楼主| LongJL 发表于 2021-7-12 09:41
MissBanana 发表于 2021-7-12 09:26
加油!(来自一个四年java狗的鼓励

会的 谢谢支持
yamika 发表于 2021-7-12 10:16
ArrayList这种常用又基础的东西建议多读源码,了解扩容,拷贝等机制
chinasniu 发表于 2021-7-12 11:33
自学笔记 Java基础
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 00:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表