您的位置:

Java ArrayList简介

一、ArrayList概述

ArrayList是Java中最常用的动态数组,是基于Object[]数组实现的,可动态加减元素。提供了快速的访问和随机访问一个元素的功能。ArrayList是非线程安全的,意味着在多线程的情况下可能存在并发问题。

二、ArrayList用法

2.1 创建ArrayList对象

    ArrayList list = new ArrayList
   ();      // 声明一个Integer型的ArrayList
    ArrayList
     stringList = new ArrayList
     ();  // 声明一个String型的ArrayList

     
    
   
  

2.2 添加元素

    list.add(1);          // 在列表末尾添加元素1
    list.add(2);          // 在列表末尾添加元素2
    list.add(1, 3);       // 在列表第1个位置插入元素3 
    stringList.add("a");  // 在列表末尾添加字符串"a"

2.3 获取元素

    int a = list.get(0);            // 获取列表第1个元素
    String b = stringList.get(0);   // 获取列表第1个元素

2.4 修改元素

    list.set(0, 4);                 // 修改列表第1个元素为4
    stringList.set(0, "b");         // 修改列表第1个元素为"b"

2.5 删除元素

    list.remove(1);         // 删除列表第2个元素
    stringList.remove("b"); // 删除列表中字符串"b"

三、ArrayList常用操作

3.1 获取ArrayList长度

    int length = list.size();            // 获取列表长度

3.2 判断ArrayList是否为空

    boolean isEmpty = list.isEmpty();    // 判断列表是否为空

3.3 清空ArrayList

    list.clear();                        // 清空列表

四、ArrayList性能

4.1 ArrayList的优势

ArrayList底层以数组实现,因此在元素随机读取方面拥有出色的性能,可以通过索引直接访问元素。同时ArrayList可以无限扩展,所以在进行元素的插入和删除操作时,相比较于LinkedList,ArrayList具有更好的效率。

4.2 ArrayList的劣势

虽然ArrayList在元素随机读取方面拥有出色的性能,但在元素的插入和删除方面,其性能不如LinkedList。插入和删除元素时,需要进行大量的数组拷贝操作,因此ArrayList的效率比较低。

五、示例代码

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo {
    public static void main(String[] args) {
        List list = new ArrayList
   ();    // 创建一个String型的ArrayList
        list.add("a");         // 在列表末尾添加字符串"a"
        list.add("b");         // 在列表末尾添加字符串"b"
        list.add("c");         // 在列表末尾添加字符串"c"
        list.add(1, "d");      // 在列表第2个位置插入字符串"d" 
        System.out.println(list.get(2));    // 获取列表第3个元素,输出c
        list.set(1, "e");      // 修改列表第2个元素为"e"
        list.remove("a");      // 删除列表中字符串"a"
        System.out.println(list.size());   // 获取列表长度,输出3
        list.clear();           // 清空列表
    }
}