首页技术文章正文

什么是ArrayList?使用ArrayList集合存取元素

更新时间:2022-03-22 来源:黑马程序员 浏览量:

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

正是由于ArrayList内部的数据存储结构是数组形式,在增加或删除指定位置的元素时,会创建新的数组,效率比较低,因此不适合做大量的增删操作。但是,这种数组结构允许程序通过索引的方式来访问元素,因此使用ArrayList集合在遍历和查找元素时显得非常高效。

ArrayList集合中大部分方法都是从接口Collection和List继承过来的,接下来通过一个案例来学习如何使用ArrayList集合的方法来存取元素,如文件所示。

文件6-1Example01.java

import java.util.ArrayList;
public class Example01 {
   public static void main(String[] args) {
      // 创建ArrayList集合
      ArrayList list = new ArrayList();
      // 向集合中添加元素
      list.add("stu1");
      list.add("stu2");
      list.add("stu3");
      list.add("stu4");
      System.out.println("集合的长度:" + list.size());
      System.out.println("第2个元素是:" + list.get(1));
   }
}
运行结果如图所示。

1647920471621_21.png

图6-2运行结果

首先通过“new ArrayList()”语句创建了一个空的ArrayList集合,接着调用add(Object o)方法向ArrayList集合中添加了4个元素,然后调用size()方法获取集合中元素个数,最后通过调用ArrayList的get(int index)方法取出指定索引位置的元素。

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

注意:1.在编译文件6-1时,会得到如图6-3所示的警告,意思是说在使用ArrayList集合时并没有显示的指定集合中存储什么类型的元素,会产生安全隐患,这涉及到泛型安全机制的问题。与泛型相关的知识将在后面的章节详细讲解,现在无需考虑。

使用ArrayList集合存取元素


2.在编写程序时,不要忘记使用类似于“import java.util.ArrayList;”语句导包,否则程序将会编译失败,显示类找不到,如错误!未找到引用源。所示。要解决此问题,只需单击图6-4所示错误小窗口中的第一行“Import’ArrayList’(java.util)”链接即可,这样Eclipse就会自动导入ArrayList的包。另外在后面的案例中可能会大量的用到集合类,除了可以使用上述方式导入指定集合类所在的包外,为了方便,程序中还可以统一使用import java.util.*;来进行导包,其中*为通配符,整个语句的意思是将java.util包中的内容都导入进来。

使用ArrayList集合存取元素

图6-4编译错误





分享到:
在线咨询 我要报名
和我们在线交谈!