Java ArrayList

前言

ArrayList 是 Java 编程语言中的一个类,它属于 Java 集合框架(Java Collections Framework)。ArrayList 位于 java.util 包中,提供了 List 接口的可调整大小的数组实现。

动态大小: 与 Java 中的数组不同,ArrayList 在添加或删除元素时可以动态调整大小。

泛型支持: ArrayList 支持泛型,这意味着您可以指定它将保存的元素类型。例如,您可以创建一个包含字符串、整数或自定义对象的 ArrayList。

从零开始的索引: ArrayList 中的元素按从零开始的索引存储,这意味着第一个元素位于索引 0,第二个位于索引 1,依此类推。

构造方法

无参构造方法

ArrayList<E> list = new ArrayList<>();

创建一个空的 ArrayList,其中 E 是元素的类型。

查看源码

带初始容量的构造方法:

ArrayList<E> list = new ArrayList<>(initialCapacity);

创建一个具有指定初始容量的 ArrayList。初始容量是 ArrayList 在不进行扩容的情况下可以容纳的元素数量。

查看源码:

使用Collection构造方法:

ArrayList<E> list = new ArrayList<>(Collection<? extends E> c);

Collection<? extends E> c 是一个泛型表达式,它表示一个集合,该集合包含的元素类型是 E 或者是 E 的某个子类型(或子类)。在这个表达式中,? extends E 表示任何是 E 类型或其子类型的通配符。这允许在集合中包含 E 或 E 的子类的元素。

查看源码:

例子

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

public class Test {
    public static void main(String[] args) {
        // 无参构造方法
        ArrayList<String> emptyList = new ArrayList<>();

        // 带初始容量的构造方法
        ArrayList<Integer> intListWithCapacity = new ArrayList<>(10);

        // 使用Collection构造方法
        List<String> stringList = Arrays.asList("1", "2", "3");
        ArrayList<String> arrayListFromCollection = new ArrayList<>(stringList);

        // 输出结果
        System.out.println("Empty List: " + emptyList);
        System.out.println("List with Capacity: " + intListWithCapacity);
        System.out.println("ArrayList from Collection: " + arrayListFromCollection);
    }
}

运行结果 

Arraylist一些常用方法

1.添加元素:

add(E element): 将元素添加到列表的末尾。
add(int index, E element): 在指定的索引位置插入元素。
2.访问元素:

get(int index): 获取指定索引位置的元素。
3.修改元素:

set(int index, E element): 替换指定索引位置的元素。
4.移除元素:

remove(Object o): 从列表中删除指定的元素。
remove(int index): 删除指定索引位置的元素。
5.判断是否包含元素:

contains(Object o): 判断列表是否包含指定的元素。
6.获取列表大小:

size(): 返回列表中的元素数。
7.判断列表是否为空:

isEmpty(): 如果列表不包含任何元素,则返回 true。
8.清空列表:

clear(): 从列表中移除所有元素。
9.获取元素索引:

indexOf(Object o): 返回指定元素第一次出现的索引;如果列表不包含该元素,则返回 -1。
lastIndexOf(Object o): 返回指定元素最后一次出现的索引;如果列表不包含该元素,则返回 -1。
10.转换为数组:

toArray(): 将列表转换为数组。
11.子列表:
subList(int fromIndex, int toIndex): 返回列表的子列表,包括 fromIndex,但不包括 toIndex。

例子 

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

public class Test {
    public static void main(String[] args) {
        // 创建一个 ArrayList
        ArrayList<String> arrayList = new ArrayList<>();

        // 添加元素
        arrayList.add("A");
        arrayList.add("B");
        arrayList.add("C");
        arrayList.add("D");
        // 打印列表
        System.out.println("ArrayList: " + arrayList);

        // 访问元素
        String firstElement = arrayList.get(0);
        System.out.println("第一个元素: " + firstElement);

        // 修改元素
        arrayList.set(1, "E");
        System.out.println("修改后的 ArrayList: " + arrayList);

        // 移除元素
        arrayList.remove("C");
        System.out.println("移除元素后的 ArrayList: " + arrayList);

        // 判断是否包含元素
        boolean containsBanana = arrayList.contains("B");
        System.out.println("是否包含 'B': " + containsBanana);

        // 获取列表大小
        int size = arrayList.size();
        System.out.println("ArrayList 大小: " + size);

        // 判断列表是否为空
        boolean isEmpty = arrayList.isEmpty();
        System.out.println("ArrayList 是否为空? " + isEmpty);

        // 获取元素索引
        int indexOfGrapes = arrayList.indexOf("D");
        System.out.println("D的索引: " + indexOfGrapes);

        // 转换为数组
        String[] array = arrayList.toArray(new String[0]);
        System.out.println("数组: " + Arrays.toString(array));

        // 创建子列表
        List<String> subList = arrayList.subList(0, 2);
        System.out.println("子列表: " + subList);

        // 清空列表
        arrayList.clear();
        System.out.println("清空 ArrayList 后: " + arrayList);
    }
}

运行结果

总结

ArrayList 是Java集合框架中的动态数组实现,提供了灵活的元素操作和自动扩容机制。通过常用方法如add、remove、get等,能方便地管理列表元素。支持泛型,可以存储不同类型数据。在实际开发中,ArrayList是处理动态数据集合的常用选择。

学习ArrayList让我深入理解了Java集合框架中动态数组的强大功能。通过掌握常用方法,我能够灵活处理元素的添加、删除和访问,实现了对列表的有效操作。同时,学会了泛型的运用,使得列表能够存储不同类型的数据。这个过程中,我更加熟悉了Java中的面向对象编程和集合处理的思想。通过编写实例代码,我不仅提高了对ArrayList的熟练度,还巩固了Java语言的基础知识。这次学习不仅仅是技术的积累,更是对编程思维的培养,为我今后的学习之路奠定了基础。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中的ArrayList是一种动态数组,它可以根据需要自动增长和缩小。与Java数组不同,ArrayList可以存储不同类型的元素,并且可以随时添加或删除元素。以下是创建和使用Java ArrayList的方法: 1. 创建一个空的ArrayList对象: ArrayList<Type> arrayList = new ArrayList<>(); 2. 创建一个包含初始元素的ArrayList对象: ArrayList<Type> arrayList = new ArrayList<>(Arrays.asList(element1, element2, ...)); 3. 访问ArrayList中的元素: Type element = arrayList.get(index); 4. 向ArrayList中添加元素: arrayList.add(element); 5. 从ArrayList中删除元素: arrayList.remove(index); 6. 获取ArrayList的大小: int size = arrayList.size(); 7. 检查ArrayList是否为空: boolean isEmpty = arrayList.isEmpty(); 需要注意的是,要使用ArrayList,我们必须先导入java.util.ArrayList包。同时,我们还可以使用Arrays.asList()方法将数组转换为ArrayList。以下是一个示例代码: import java.util.ArrayList; import java.util.Arrays; public class Main { public static void main(String[] args) { // 创建一个空的ArrayList对象 ArrayList<String> animals = new ArrayList<>(); // 向ArrayList中添加元素 animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); // 访问ArrayList中的元素 String element = animals.get(1); System.out.println("访问元素: " + element); // 从ArrayList中删除元素 animals.remove(0); // 获取ArrayList的大小 int size = animals.size(); System.out.println("ArrayList大小: " + size); // 检查ArrayList是否为空 boolean isEmpty = animals.isEmpty(); System.out.println("ArrayList是否为空: " + isEmpty); // 从数组创建ArrayList String[] arr = {"Horse", "Sheep", "Pig"}; ArrayList<String> animals2 = new ArrayList<>(Arrays.asList(arr)); System.out.println("ArrayList: " + animals2); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值