当前位置: 首页 / 技术干货 / 正文
ArrayList集合介绍

2022-12-09

集合 arraylist 元素 数组

  ArrayList集合介绍

  ArrayList是List接口的一个实现类,它是程序中最常见的一种集合。在ArrayList内部封装了一个长度可变的数组对象,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

  ArrayList集合中大部分方法都是从父类Collection和List继承过来的,其中add()方法和get()方法分别用于实现元素的存入和取出。接下来通过一个案例学习ArrayList集合的元素存取。


import java.util.ArrayList;

public class Example01 {
    public static void main(String[] args) {
        ArrayList list = new ArrayList(); // 创建ArrayList集合
        list.add("张三"); // 向集合中添加元素
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        // 获取集合中元素的个数
        System.out.println("集合的长度:" + list.size());
        // 取出并打印指定位置的元素
        System.out.println("第2个元素是:" + list.get(1));
    }
}

   从运行结果可以看出,索引位置为1的元素是集合中的第二个元素,这就说明集合和数组一样,索引的取值范围是从0开始的,最后一个索引是size-1.在访问元素时一定要注意索引不可超出此范围,否则会抛出角标越界异常IndexOutOfBoundsException。

  由于ArrayList集合的底层是使用一个数组来保存元素,在增加或删除指定位置的元素时,会导致创建新的数组,效率比较低,因此不适合做大量的增删操作。因为这种数组的结构允许程序通过索引的方式来访问元素,所以使用ArrayList集合查找元素很便捷。

  泛型安全机制问题

  在IntelliJ IDEA中编译上述程序时,会得到警告信息,提示在使用ArrayList集合时并没有明确指定集合中存储什么类型的元素,会产生安全隐患,这涉及到泛型安全机制的问题。警告信息如下所示。  


Unchecked call to 'add(E)' as a member of raw type 'java.util.ArrayList'

   在编写程序时,不要忘记使用“import java.util.ArrayList;”语句导包,否则IDEA会提示类型不能解决的错误信息,将鼠标移动到报出错误的ArrayList()上,错误显示如下所示:


Cannot resolve symbol 'ArrayList'

  要解决此问题,只需单击图中错误显示小窗口中Import class的链接,这样IntelliJ IDEA就会自动导入ArrayList的包。在后面的案例中会大量地用到集合类,为了方便,程序中可以使用import java.util.*;来进行导包,其中*为通配符,整个语句的意思是将java.util包中的内容都导入进来。

分享: 更多

上一篇:Java-Collection接口及List接口

下一篇:LinkedList集合

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号