ArrayList详解

Posted yuanshireny

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList详解相关的知识,希望对你有一定的参考价值。

1.简介

首先我们要知道ArrayList属于Java中的一个类,位于util包下,util包使用前需要导包

ArrayList与C语言中的链表有异曲同工之处,他们的长度、元素都是动态的,ArratList可称为Java中的动态数组,是比Array更复杂的一种类型

2.声明

ArrayList<E> array=new ArrayList<>(); E表示泛型,即ArrayList中添加的所有元素都要保持同一种数据类型。

如果需要储存基本数据类型,需要用到它们的包装类(应用类型,包装类型位于lang包下,使用时不用导包)

包装类

包装类可以理解为位于基本类型之上且与各基本类型一一对应的一种类型

基本类型    包装类
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean

其中从JDK1.7开始,在new ArrayList<>()后的<>可保持为空
基本类型转化至包装类型称为装箱,反之称为拆箱,从JDK1.5+开始支持自动装箱、拆箱
import Java.util.*
//......
ArrayList<Integer> array01=new ArrayList<>();//基本类型--包装类
//表示创建一个ArrayList集合,集合的名称是array01,添加的所有元素都要求为Integer即int类型的 ArrayList
<String>() array02=new ArrayList<>();//引用类型--String
//同上

3.方法和使用

添加元素

add方法

技术图片

//常用
array01.add(character); //表示直接顺序向后添加元素 array01.add(index,character); //表示在第index-1和index个元素中间插入元素character

添加类

添加类与添加元素本质上差不多,可以将类打包成一个个单位然后添加进去,可以是自定义的类

比如说要求建立一个包含多个学生名字和年龄的集合

import java.util.ArrayList;

public class ProblemOfArrayList {
    public static void main(String[] args) {
        ArrayList<Students> stu = new ArrayList<>();//E=Students, Students为自己建立的类
//统计四个Students对象st1 st2 st3 st4的名字和年龄 Students st1 = new Students("Matthew", 20); Students st2 = new Students("Mary", 19); Students st3 = new Students("Jason", 18); Students st4 = new Students("Jake", 17); //依次添加学生对象 stu.add(st1); stu.add(st2); stu.add(st3); stu.add(st4); } //建立Students类 class Students { private String name; private int age; //Students含参构造函数,用于录入名字和年龄 public Students(String name, int age) { this.name = name; this.age = age; } }

删除元素

remove方法

技术图片

 

 

// 常用
array01.remove(index);//表示移除第index个元素

获取元素

get方法

技术图片

//常用
array01.get(index);//表示获取第index个元素

获取集合长度

size方法

技术图片

int length = array01.size();

 

以上是关于ArrayList详解的主要内容,如果未能解决你的问题,请参考以下文章

获取 Intent 片段上的 Serializable ArrayList

包含不同片段的HashMap(或ArrayList)

面试常用的代码片段

《C#零基础入门之百识百例》(八十三)ArrayList数组列表详解 -- 代码示例

《C#零基础入门之百识百例》(八十三)系统类ArrayList数组列表详解 -- 代码示例

(转) Java中的负数及基本类型的转型详解