ArrayList

ArrayList是Java中基于数组实现的集合类,其特点是随机访问快速,但插入和移除操作效率较低。由于内部使用数组,当在指定索引处插入元素时,需要移动后续元素,导致效率下降。适合于对集合的索引访问频繁的场景,而不适合频繁插入和删除操作。示例代码展示了ArrayList的基本使用,包括添加、获取和遍历元素。
摘要由CSDN通过智能技术生成

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

特点:

  1. 底层数据结构是数组,随机访问速度快(根据索引访问),插入和移除较慢。
  2. 插入的数据有顺序,元素可以重复
  3. 线程不安全,效率高。(线程不安全效率肯定高!)(线程安全之后效率就会不高)

  1. 为什么效率低?
  1. 数组结构的优点是便于对集合进行快速的随机访问,如果经常需要根据索引位置访问集合中的对象,使用由ArrayList类实现的List集合的效率较好。
  2. 数组结构的缺点:在向指定索引位置插入、删除指定对象效率较慢,如果经常需要向List集合的指定索引位置插入或删除对象,那么使用由ArrayList类实现的List集合的效率则较低,并且插入、删除对象的索引位置越小效率越低,原因是当向指定的索引位置插入对象时,会同时将指定索引位置及之后的所有对象相应的向后移动一位。
package MONA.demo05_arraylist;

import java.util.ArrayList;

/**
 * ArrayList特点:
 *  1.随机访问特别快
 *  2.插入、移除指定位置慢
 *  3.元素可以重复
 */
public class Demo {
    public static void main(String[] args) {
         ArrayList<String> list = new ArrayList<>();
         list.add("aaa");
         list.add("bbb");
         list.add("bbb");
         list.get(0);
         list.add(1,"eee");

         //遍历
        //list.listIterator();
        //for增强循环
        //fori普通循环
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值