• Java ArrayList类详解


     基本定义

    ArrayList 是 Java 中的一个动态数组数据结构,属于 Java 集合框架的一部分(java.util 包中的类)。它提供了一个基于数组的可变长度列表,允许你在运行时添加、删除和访问元素,而不需要提前指定数组的大小。

    简而言之:它是Java函数库中数百个类中的一个,可以将它直接当作自己的类使用

    ArrayList类的基础(部分)方法

    add(Object elem):向list中加入对象参数,在 ArrayList 的末尾添加新元素

    add(int index, Object elem):在index对应的下标中添加elem对象

    remove(int index):移除对应索引的对象

    remove(Object elem):移除该对象,默认只是移除第一个匹配的对象

    contains(Object elem):检查是否包含该对象:有的话返回"true",否则返回"false"

    isEmpty():如果list中没有元素则返回"true"

    indexOf(Object elem):如果存在该对象,则返回对应下标,如果不存在,则返回-1

    size():返回ArrayList当前的大小

    get(int index):返回当前索引参数的对象

    下面来举个例子来解释一下ArrayList的方法使用吧:

    1. import java.util.ArrayList;
    2. class Egg {
    3. }
    4. public class testArrayList {
    5. public static void main(String[] args) {
    6. //1.创建:<括号>代表创建出Egg类型的basket
    7. //新的ArrayList对象会创建在堆上
    8. ArrayList basket = new ArrayList();
    9. //2.加入元素
    10. //此ArrayList会产生一个"筐子"来放Egg对象
    11. Egg s = new Egg();
    12. basket.add(s);
    13. //3.再加入元素
    14. //此ArrayList会再次整一个筐子来存放Egg对象
    15. Egg b = new Egg();
    16. basket.add(b);
    17. //4.查询大小
    18. //因为basket含有两个元素,size()会返回2
    19. int theSize = basket.size();
    20. //5.查询特定元素
    21. //因为basket带有s所引用的Egg对象,所以此方法会返回true
    22. boolean isIn = basket.contains(s);
    23. //6.查询特定元素的位置
    24. //b是创建的第二个对象,因此返回1
    25. int idx = basket.indexOf(b);
    26. //7.判断集合是否为空
    27. //因为不是空的,所以返回false
    28. boolean empty = basket.isEmpty();
    29. //8.删除元素
    30. basket.remove(s);
    31. }
    32. }

    比较ArrayList与一般数组

    一般数组在创建时必须指定大小

    但对于ArrayList来说,你只需要创建出此类型的对象就行。它不需要指定大小,因为他会在加入或删除元素时自动调整大小。

    new String[2] //指定大小

    new ArrayList() //不需要指定大小

    存放对象给一般数组时必须指定位置

    (必须要指定介于0到比length小1之间的数字)

    myList[1] = b;//指定索引值

    如果索引值超出了数组的限制(例如声明大小为2的数组,然后指派索引值3),程序会在执行期出现错误。

    使用ArrayList时,你可以用add(Int, Object)这个形式来指定索引值,或者使用add(Object)的形式来给它自行管理大小。

    myList.add(b);//不需指定索引值

    一般数组使用特殊的语法

    但ArrayList是个普通对象,所以不会有特殊的语法。

    myList[1]//[方括号]是指用在数组上的特殊语法

    在Java5.0中的ArrayList是参数化的

    虽然我们说ArrayList不想一般数组有特殊的语法,但是它们在Java5.0中有比较特殊的东西-参数化类型。

    ArrayList //是类型参数。这代表String的集合,就像说ArraysList代表Egg的集合

    在Java5.0之前是无法声明出要存放于ArrayList中元素的类型,它只会是异质对象的集合

  • 相关阅读:
    Java本地缓存的使用
    【手把手带你刷好题】Java刷题记录 21——>>27
    Windows配置python3环境变量解决无法识别pip指令报错
    什么是Redis缓存 雪崩、穿透、击穿?【详解】
    gcc -static参数
    操作符编程练习题
    1.6编程基础之一维数组 10大整数加法
    分享4张亚马逊云科技AWS免费云开发和AI证书(有答案)
    基于FPGA的正弦PWM产生系统verilog实现
    《刚刚问世》系列初窥篇-Java+Playwright自动化测试-1-环境准备与搭建
  • 原文地址:https://blog.csdn.net/asdssadddd/article/details/132675857