数组(Array)和集合(ArrarList)的区别
区别 | Array | ArrayList |
---|---|---|
长度是否可变 | 不可变 | 可任意变化 |
存储类型 | 任意类型 | 引用类型 |
求长度 | array.length | list.size() |
具体介绍
数组的长度不改变
但是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);
list.add("迪丽热巴");
System.out.println(list);
list.add("古力娜扎");
list.add("马尔扎哈");
list.add("lyl");
//list.add(100);错误写法! 因为创建的时候尖括号泛型已经说明了是字符串类型,就不能添加任何其他类型
System.out.println(list);
}
}
ArrayList当中的常用方法
- public boolean add(E e):向集合当中添加元素,参数类型和泛型一致 (返回值代表是否添加成功)
- public E get(int index):向集合当中获取元素,参数是索引编号,返回值就是对应位置的元素
- public E remove(int index);向集合当中删除元素,参数是索引编号,返回值就是被删除的元素
- publci int size():获取集合的尺寸长度,返回值是集合中包含的元素个数。
import java.util.ArrayList;
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
System.out.println(list);
System.out.println(list.size());
boolean bool = list.add("无极剑圣");
System.out.println("添加的动作是否成功:"+bool);
System.out.println(list);
list.add("盲僧");
list.add("铁憨憨");
list.add("盖伦");
list.add("赵信");
list.add("艾克");
System.out.println(list);
System.out.println(list.get(2));
System.out.println(list);
System.out.println(list);
System.out.println(list.remove(2));
System.out.println(list);
//获取集合的长度尺寸,也就是其中元素的个数[.size()] // 获取数组的长度[.length]
System.out.println(list.size());
System.out.println("==================");
//遍历ArrayList集合
for(int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
}
}
如果希望向集合ArrayList当中存储基本类型数据,必须使用基本类型对应的“包装类”
包装类(引用类型,包装类都位于Java.lang包下,所以不用import)
从JDK1.5开始,支持自动装箱、自动拆箱
自动装箱:基本类型 --> 包装类型
自动拆箱:包装类型 --> 基本类型
基本类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
import java.util.ArrayList;
public class Demo04ArrayListBasic {
//ArrayList<int> list = new ArrayList<>();错误写法!泛型只能是引用类型,不能是基本类型
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
System.out.println(list);
System.out.println("第0号元素是:"+list.get(0));
}
}