Java 自定义ArrayList
在进一步进行之前,让我们快速地回顾一下 数组 和 ArrayList 的概念。在java中,我们已经看到数组是线性数据结构,提供了在内存地址空间中连续添加元素的功能,而ArrayList是一个属于集合框架的类。作为一个优秀的程序员,尽管知道这两者之间的区别,但已经知道使用ArrayList而不是数组。现在,即使是ArrayList,也有一个功能可以传递元素的数据类型,这些元素应该被存储在ArrayList中,无论是对象、字符串、整数、double、浮点数等等。
语法
注意: Java中的ArrayList(相当于C++中的向量)具有动态大小。它可以根据大小缩减或扩展。ArrayList是集合框架的一部分,存在于java.util包中。
语法
这里重要的是,E在这里代表一个对象数据类型,想象一下,这里是 Integer 。Integer类将一个原始类型 int 的值包装在一个对象中。一个Integer类型的对象包含一个类型为int的单一字段。在前进之前,请先了解一下java中封装类的概念,因为如果我们清楚地知道自动装箱和拆箱的概念,它将在后端使理解更加清晰。这是因为在对列表中的元素进行操作时,它们的语法会有所不同,所以对概念的掌握会有所欠缺,假设考虑一个向自定义ArrayList添加元素的场景,并注意它们之间语法的差异。
语法
语法
让我们举一个例子来感知,下面提供的例子如下。
示例
在这里,我们有所有相同类型的元素,一般来说,我们经常使用。现在让我们提出同样的图示流程,ArrayList简单地支持多个数据,其方式如图所示。
在上面的ArrayList中,我们可以清楚地看到,被存储的元素是不同的类型。因此,它确实爆发了 的概念,限制在一个单一的类型,不仅如此,List还为我们提供了灵活性,可以根据我们的类型制作List,我们可以在ArrayList中访问什么类型的数据。这种列表被称为java中的自定义ArrayList 。 自定义ArrayList具有基于用户需求的属性,并且可以有超过一种类型的数据。这些数据是由一个自定义的内部类提供的,它是由各种原始对象数据类型组合而成的。
实现: 考虑一个案例,当我们必须接受 N 个学生的输入,细节是。
- 卷号
- 姓名
- 分数
- 电话
假设我们不知道java中自定义Arraylist的概念,那么我们就会制作下面列出的单个ArrayLists。我们定义了4个ArrayLists并在每个ArrayLists中保存相应的数据。
现在,我们将在每个人身上进行迭代来获取学生数据,这在更大程度上增加了我们程序的时间复杂性,如下图所示。
现在让我们在上面所学的概念的帮助下,通过实现同样的内容。因此,为了构建我们的自定义ArrayList,请执行下面列出的步骤。
过程: 构建自定义ArrayList如下。
- 建立一个ArrayList对象,并将其类型定为类数据。
- 定义一个类,并将所需的实体放在构造函数中。
- 将这些实体链接到全局变量。
- 从ArrayList中收到的数据是那个存储多个数据的类的类型。
例子
输出