目录
前言
一个事物的存在,一定有其必要性。小编相信,世间万物,皆有因果。今天,就带大家来看一看ArrayList,它从哪里来,又要到哪里去?
what:什么是ArrayList集合
ArrayList集合是存放同一相同数据类型的容器,只能存放引用数据类型,因其中存放的是地址值。
why:为什么使用ArrayList集合
上一篇文章介绍了数组,数组的一大特点就是数组的长度时不可变的。如果我们设定了5长度的数组,那么想要存储大于5的数据,是不可以的。而ArrayLsit很好的解决了这个问题,ArrayList集合的长度是可以随意改变的。
how:如何使用ArrayList集合
ArrayList类的使用
1.导包
import java.util.ArrayList;
2.创建
(备注)从JDK 1.7+开始,右侧的尖括号内部可以不写内容,但是<>本身还是要写内容的。对于ArrayList来说,有一个尖括号<E>代表泛型。泛型也就是说装在集合当中的所有元素,全都是统一的什么类型。泛型只能是引用类型,不能是基本类型。
ArrayList<E> 集合名称=new ArrayList<>();
3.使用
ArrayList当中的常用方法有:
public boolean add(E e):向集合当中添加元素,参数的类型和泛型一致。
public E get(ine index):从集合当中获取元素,参数是索引编号,返回值就是对应位置的元素
public E remove(ine index):从集合当中删除元素,参数是索引编号,返回值就是被删除掉的元素
public int size():获取集合的尺寸长度,返回值是集合中包含的元素的个数
代码演示
(1)注意事项:对于ArrayList来说,直接打印得到的不是地址值,而是内容,如果内容是空,得到的是空的中括号:[]
public class Demo02ArrayList {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
System.out.println(list); //[]
}
}
(2) ArrayList中常用方法用法举例
ublic class Demo02ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<>();
//向集合当中添加元素:add()
boolean success=list.add("赵丽颖");
list.add("迪丽热巴");
list.add("邓伦");
list.add("朱一龙");
System.out.println(list); //[赵丽颖, 迪丽热巴, 邓伦, 朱一龙]
System.out.println("添加的动作是否成功:"+success); //true
//从集合当中获取元素:get(ine index) 索引值从0开始
String name=list.get(2); //邓伦
System.out.println("第2号索引位置:"+name);
//从集合当中删除元素:remove(ine index) 索引值从0开始
String whoRemoved=list.remove(3);
System.out.println("删除的人是:"+whoRemoved); //朱一龙
System.out.println(list); //[赵丽颖, 迪丽热巴, 邓伦]
//获取集合的尺寸长度:size()
int size=list.size();
System.out.println("集合的长度是:"+size);
}
}
(3)遍历ArrayList(注意,size()方法是有小括号的,数组的length方法是没有小括号的)
public class Demo03ArrayList {
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));
}
}
}
(4)刚才提到,ArrayList当中只能存放引用数据类型,不能存放基本数据类型。下面小编就要说一下如果希望向ArrayList当中存储基本数据类型的话,就许哟啊使用基本类型对应的包装类。
基本类型 包装类(引用类型,包装都位于java.lang包下)
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
可以发现,除了int和char之外的基本类型其包装类都是首字母大写就可以了,int和char的包装类(也叫引用类型)需要我们特殊记忆。从JDK 1.5+开始,支持自动装箱和自动拆箱
自动装箱:基本类型-->包装类型
自动拆箱:包装类型-->基本类型
public class Demo04ArrayList {
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
System.out.println(list); //[100, 200, 300]
int num=list.get(1);
System.out.println("第1号元素是:"+num); //200
}
}
(5)集合小练习,帮你更好的记住集合的使用。将ArrayList作为一个方法的参数使用
创建一个大集合,获取大集合当中的偶数组成一个小集合输出。
import java.util.ArrayList;
import java.util.Random;
public class Demo08ArrayList {
public static void main(String[] args) {
//创建大集合
ArrayList<Integer> bigList=new ArrayList<>();
//创建Random对象
Random r=new Random();
//添加随机数字到集合
for (int i = 0; i < 20; i++) {
bigList.add(r.nextInt(1000)+1);
}
System.out.println("大集合为:"+bigList);
//调用偶数集合方法
System.out.println(getSmallList(bigList));
}
public static ArrayList<Integer> getSmallList(ArrayList<Integer> list){
//创建小集合,用来存放偶数
ArrayList<Integer> smallList=new ArrayList<>();
//遍历大集合
for (int i = 0; i < list.size(); i++) {
//判断为偶数,添加到小集合中
if(list.get(i) % 2 ==0 ){
smallList.add(list.get(i));
}
}
//返回小集合
return smallList;
}
}
ArrayList集合就先介绍到这里吧!