一、ArrayList类概述
数组的长度不可以改变,但是ArrayList类长度可变
- 对于ArrayList来说,有一个尖括号<E>代表泛型
- 泛型:就是装在集合当中的所有元素,全部是统一的什么类型。
- 注意:泛型只能是引用类型,不可以是基本类型
代码示例:
package Day07;
import java.util.ArrayList;
/*
* 数组的长度不可以改变,但是ArrayList类长度可变
*对于ArrayList来说,有一个尖括号<E>代表泛型
*泛型:就是装在集合当中的所有元素,全部是统一的什么类型。
*注意:泛型只能是引用类型,不可以是基本类型
*
注意事项:
对于ArrayList集合来说,直接打印得到的不是地址值而是内容
如果内容是空,得到的是空的中括号:[ ]
*/
public class Demo02Arraylist {
public static void main(String[] args) {
//创建一个ArrayList集合,集合的名称是list,里面装的都是String字符串类型的数据,不能使用其他类型的数据
//备注,从JDK1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写
ArrayList<String>list=new ArrayList<>();
System.out.println(list);//输出[ ]
//向集合中添加数据用到add函数
list.add("赵丽颖");
System.out.println(list);//输出[赵丽颖]
list.add("古力娜扎");
list.add("迪丽热巴");
list.add("玛尔扎哈");
System.out.println(list);//输出[赵丽颖, 古力娜扎, 迪丽热巴, 玛尔扎哈]
}
}
二、ArrayList类的常用方法和遍历
ArrayList当中的常用方法有:
- public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用
但是对于其他集合(今后学习)来说,add添加动作不一定成功,返回值即成不成功
- public E get(int index):从集合当中获取元素,参数是索引编号。返回值就是对应位置的元素
- public E remove(int index):从集合当中删除元素,参数是索引编号。返回值就是被删除的元素
- public E int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
package Day07;
import java.util.ArrayList;
/*
ArrayList当中的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。
备注:对于ArrayList集合来说,add添加动作一定是成功的,所以返回值可用可不用
但是对于其他集合(今后学习)来说,add添加动作不一定成功,返回值即成不成功
public E get(int index):从集合当中获取元素,参数是索引编号。返回值就是对应位置的元素
public E remove(int index):从集合当中删除元素,参数是索引编号。返回值就是被删除的元素
public E int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
*/
public class Demo03Arraylist {
public static void main(String[] args) {
ArrayList<String>list=new ArrayList<>();
System.out.println(list);//输出[ ]
//向集合中添加数据用到add函数
boolean success = list.add("刘洋");
System.out.println(list);
System.out.println("添加的动作是否成功"+success);//true
list.add("高圆圆");
list.add("赵又廷");
list.add("李小璐");
list.add("贾乃亮");
System.out.println(list);//输出[刘洋,高圆圆,赵又廷,李小璐,贾乃亮]
//从集合中获取元素:get (索引值从0开始)
String name=list.get(2);
System.out.println("第二号索引位置"+name);//第二号索引位置赵又廷
//从集合中删除元素:remove (索引值从0开始)
String Whoremoved=list.remove(3);
System.out.println("被删除的是"+Whoremoved);//被删除的是李小璐
//获取集合的长度使用:size
int length=list.size();
System.out.println("数组的长度是"+length);//数组的长度是4
}
}
三、集合的遍历
package Day07;
import java.util.ArrayList;
public class Demo04Arraylist {
public static void main(String[] args) {
ArrayList<String>list=new ArrayList<>();
list.add("高圆圆");
list.add("赵又廷");
list.add("李小璐");
//遍历集合
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}
四、ArrayList类存储基本数据类型
前面提到了ArrayList类只能存储泛型(即引用类型),那么如何存储基本数据类型呢?
如果希望向对象中集合Arraylist当中存储基本数据类型,必须使用基本类型对应的“包装类”
基本类型 | 包装类【引用类型,包装类都位于java.lang包下】 |
byte | Byte |
short | Short |
int | Integer【特殊】 |
long | Long |
float | Float |
double | Double |
char | Character【特殊】 |
boolean | Boolean |
package Day07;
import java.util.ArrayList;
//从JDK1.5+
//支持自动装箱:基本类型->包装类型
//支持自动拆箱:包装类型->基本类型
public class Demo04Arraylist {
public static void main(String[] args) {
ArrayList<Integer>list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
//遍历集合
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
}