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();

 

posted @ 2020-02-04 12:53  YIYUYI  阅读(910)  评论(0编辑  收藏  举报