java集合框架ArrayList常见方法的使用

一、什么是ArrayList

ArrayList是Java中的一个动态数组类,可以根据实际需要自动调整数组的大小。ArrayList是基于数组实现的,它内部维护的是一个Object数组,默认初始化容量为10,当添加的元素个数超过了当前容量时,会自动扩容。

ArrayList也被广泛用于Java中的集合框架,例如Java中的List和Vector都是基于ArrayList实现的。下面是ArrayList常见的方法及其使用方法。

使用场景:
ArrayList适用于需要动态添加、删除元素的场景,可以用于存储不确定数量的数据。ArrayList也可以用于需要频繁访问集合元素的场景,因为它的底层是基于数组实现的,可以通过索引值快速访问元素。

另外,由于ArrayList是基于数组实现的,因此在数据量较大时,会占用较多的内存空间,因此需要考虑内存的使用。对于频繁进行插入、删除操作的场景,可以使用LinkedList来代替ArrayList。

总之,ArrayList更适合于需要频繁访问、添加、删除元素的场景,而LinkedList则更适合于需要频繁进行插入和删除操作的场景。

二、ArrayList的特点以及优缺点

  • 特点: 动态数组,可变大小。
  • 优点: 高效的随机访问和快速尾部插入。
  • 缺点: 中间插入和删除相对较慢。

三、常见方法

方法描述
add(E o)将指定元素追加到此列表的结尾。
add(int index, E element)将指定的元素插入此列表中的指定位置。
addAll(Collection<? extends E> c)按照指定 Collection 的迭代器所返回的元素顺序,将该 Collection 中的所有元素追加到此列表的尾部。
addAll(int index, Collection<? extends E> c)从指定的位置开始,将指定 Collection 中的所有元素插入到此列表中。
clear()从此列表中移除所有元素。
ensureCapacity(int minCapacity)如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
indexOf(Object elem)搜索指定参数第一次出现的位置,使用 equals 方法进行相等性测试。
isEmpty()测试此列表中是否没有元素。
lastIndexOf(Object elem)返回指定的对象在列表中最后一次出现的位置索引。
remove(int index)移除此列表中指定位置处的元素。
remove(Object o)从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。
removeRange(int fromIndex, int toIndex)移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
set(int index, E element)用指定的元素替代此列表中指定位置上的元素。

代码示例:

add()方法

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        System.out.println(list);
    }
}

运行结果:

[apple, banana, orange]

get()方法:

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        String fruit = list.get(1);
        System.out.println(fruit);
    }
}

运行结果:

banana

remove()方法:

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        list.remove(1);//删除指定下标
        System.out.println(list);
        list.remove("orange");//删除指定元素
        System.out.println(list);
    }
}

运行结果:

[apple, orange]
[apple]

size()方法:

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        int size = list.size();
        System.out.println(size);
    }
}

运行结果:

3

set()方法:

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        list.set(1, "pear");
        System.out.println(list);
    }
}

运行结果:

[apple, pear, orange]

indexOf()方法:

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        int index = list.indexOf("banana");
        System.out.println(index);
    }
}

运行结果:

1

clear()方法:

import java.util.ArrayList;

public class ArrayListDemo {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        list.clear();
        System.out.println(list);
    }
}

运行结果:

[]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值