Java ArrayList类详解

这篇具有很好参考价值的文章主要介绍了Java ArrayList类详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 基本定义

ArrayList 是 Java 中的一个动态数组数据结构,属于 Java 集合框架的一部分(java.util 包中的类)。它提供了一个基于数组的可变长度列表,允许你在运行时添加、删除和访问元素,而不需要提前指定数组的大小。

简而言之:它是Java函数库中数百个类中的一个,可以将它直接当作自己的类使用

ArrayList类的基础(部分)方法

add(Object elem):向list中加入对象参数,在 ArrayList 的末尾添加新元素

add(int index, Object elem):在index对应的下标中添加elem对象

remove(int index):移除对应索引的对象

remove(Object elem):移除该对象,默认只是移除第一个匹配的对象

contains(Object elem):检查是否包含该对象:有的话返回"true",否则返回"false"

isEmpty():如果list中没有元素则返回"true"

indexOf(Object elem):如果存在该对象,则返回对应下标,如果不存在,则返回-1

size():返回ArrayList当前的大小

get(int index):返回当前索引参数的对象

下面来举个例子来解释一下ArrayList的方法使用吧:

import java.util.ArrayList;

class Egg {

}

public class testArrayList {
    public static void main(String[] args) {
        //1.创建:<括号>代表创建出Egg类型的basket
        //新的ArrayList对象会创建在堆上
        ArrayList<Egg> basket = new ArrayList<Egg>();
        //2.加入元素
        //此ArrayList会产生一个"筐子"来放Egg对象
        Egg s = new Egg();
        basket.add(s);
        //3.再加入元素
        //此ArrayList会再次整一个筐子来存放Egg对象
        Egg b = new Egg();
        basket.add(b);
        //4.查询大小
        //因为basket含有两个元素,size()会返回2
        int theSize = basket.size();
        //5.查询特定元素
        //因为basket带有s所引用的Egg对象,所以此方法会返回true
        boolean isIn = basket.contains(s);
        //6.查询特定元素的位置
        //b是创建的第二个对象,因此返回1
        int idx = basket.indexOf(b);
        //7.判断集合是否为空
        //因为不是空的,所以返回false
        boolean empty = basket.isEmpty();
        //8.删除元素
        basket.remove(s);
    }
}

比较ArrayList与一般数组

一般数组在创建时必须指定大小

但对于ArrayList来说,你只需要创建出此类型的对象就行。它不需要指定大小,因为他会在加入或删除元素时自动调整大小。

new String[2] //指定大小

new ArrayList<String>() //不需要指定大小

存放对象给一般数组时必须指定位置

(必须要指定介于0到比length小1之间的数字)

myList[1] = b;//指定索引值

如果索引值超出了数组的限制(例如声明大小为2的数组,然后指派索引值3),程序会在执行期出现错误。

使用ArrayList时,你可以用add(Int, Object)这个形式来指定索引值,或者使用add(Object)的形式来给它自行管理大小。

myList.add(b);//不需指定索引值

一般数组使用特殊的语法

但ArrayList是个普通对象,所以不会有特殊的语法。

myList[1]//[方括号]是指用在数组上的特殊语法

在Java5.0中的ArrayList是参数化的

虽然我们说ArrayList不想一般数组有特殊的语法,但是它们在Java5.0中有比较特殊的东西-参数化类型。

ArrayList<String> //<String>是类型参数。这代表String的集合,就像说ArraysList<Egg>代表Egg的集合

在Java5.0之前是无法声明出要存放于ArrayList中元素的类型,它只会是异质对象的集合文章来源地址https://www.toymoban.com/news/detail-697054.html

到了这里,关于Java ArrayList类详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java】ArrayList(集合)超详解

    集合和数组的优势对比: 长度可变 添加数据的时候不需要考虑索引,默认将数据添加到末尾 1.1ArrayList类概述 什么是集合 ​ 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点 ​ 底层是数组实现的,长度可以变化 泛型的使用 ​ 用于约束集

    2023年04月20日
    浏览(53)
  • Java集合之ArrayList详解

    1.1. Iterator:提供了一种方便、安全、高效的遍历方式。 Iterator是一个迭代器接口,它提供了一种安全的遍历集合元素的方法,可以避免在遍历过程中修改集合引起的ConcurrentModificationException异常,同时还可以避免在遍历过程中删除集合元素时出现索引越界等问题。 ArrayList使用

    2024年02月10日
    浏览(31)
  • 【JAVA语言-第15话】集合框架(二)——List、ArrayList、LinkedList、Vector集合

    目录 List集合 1.1 概述 1.2 特点 1.3 常用方法 1.4 ArrayList集合 1.4.1 概述  1.4.2 练习 1.5 LinkedList集合  1.5.1 概述 1.5.2 特点 1.5.3 常用方法 1.5.4 练习 1.6 Vector类 1.6.1 概述 1.6.2 练习 1.7 List实现类的异同点         java.util.List: List是一个接口,它继承自Collection接口。 常用的实现

    2024年01月25日
    浏览(45)
  • 【无标题】一篇文章带你彻底理解Java ArrayList数据结构详解

    基本概念: ​ **之前创建数组的时候,需要声明提前声明数组的大小,**ArrayList是一个可以动态修改的数组,与普通数组的区别就是没有固定大小的限制,它会动态调整长度。 ​ **ArrayList继承了AbstractList,并实现了List接口。**如下图: **ArrayList 类位于 java.util 包中,**使用前

    2024年02月14日
    浏览(43)
  • 编程开发8大语言详解,为什么Java是我最推荐的?

    很多没有接触过编程语言的同学,都会觉得编程开发特别高端和神奇,担心理解不了更担心学不会。 当然,也有人会认为,你既然是做编程的,那么你应该什么都会,什么软件的开发都能完成,这是平哥经常听到的两种声音。 在此,平哥需要给大家科普一下, 编程确实改变

    2024年02月05日
    浏览(53)
  • Java重写ArrayList方法

    2024年01月19日
    浏览(37)
  • Java ArrayList

    ArrayList类示一个可以动态修改的数组,与普通数组的区别是它没有固定大小的限制,可以添加和删除元素。 适用情况: 频繁的访问列表中的某一元素 只需要在列表末尾进行添加和删除某些元素 ArrayList 是一个数组队列,提供了相关的添加、删除、修改、遍历等功能。 Collec

    2024年02月09日
    浏览(23)
  • 【Java】顺序表ArrayList

    顺序表(Sequential List)是一种基本的数据结构,它由一组连续的存储空间(例如数组)来表示线性表的数据结构。顺序表中的元素在内存中是按照其逻辑顺序依次储存的。 顺序表具有以下特点: 元素在内存中的储存是连续的,可以通过下标直接访问和定位元素。 元素之间的

    2024年02月12日
    浏览(33)
  • java数组ArrayList(存对象)

    1、dade文件 2、AdminController文件

    2024年01月22日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包