目录
相同点
存储元素的区别 :
长度的区别:
使用选择
相互转换
数组的补充
相同点
集合和数组都是Java中的容器。
存储元素的区别 :
1.1,数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值
1.2,集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象
长度的区别:
2.1,数组长度是固定的,不能自动增长
2.2,集合的长度的是可变的,可以根据元素的增加而增长
使用选择
3.1,果元素个数是固定的推荐用数组
3.2,如果元素个数不是固定的推荐用集合
相互转换
4.1,集合转数组
Collection中toArray(T[] a)泛型版的集合转数组,由于Collection是所有集合都实现的接口,所以任何集合都实现了toArray(T[] a)方法;注意toArray()是重载方法,注意他们的返回值类型不一样,前者返回的是传入类型的数组,后者返回的是Object类型的数组;
4.2,数组转集合
Arrays工具类的asList(T... a) 方法,参数为可变参数
备注:有关可变参数
定义方法的时候不知道该定义多少个参数
格式
修饰符 返回值类型 方法名(数据类型… 变量名){}
注意事项:
这里的变量其实是一个数组
如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个
数组的补充
一维数组的创建:
//有关一维数组的创建有三种方式
数据类型 [] 数组名 = new 数组类型[元素数量]
数据类型 [] 数组名 = {元素1,元素2,....} //静态初始化
数据类型 [] 数组名 = new 数组类型{元素1,元素2,....}
例如:
String[] a1 = new String[8];
String[] a2 = {"11","12","13", "14", "15"};
String[] a3 = new String[]{"a","b","c","d","e"};
二维数组创建
数据类型 数组名 [][] = new 数据类型[m][n]
数据类型 [][] 数组名 = new 数据类型[m][n]
数据类型 [] 数组名 [] = new 数据类型[m][n]
注意:以上数组的创建如果不指定n,回到初始化不成功,如果使用数组,则会抛出空指针;
例如: int [][] arr=new int [2][3]; 也可以理解为“2行3例”
格式2: 静态初始化
数据类型 [][] 数组名 = {{元素1,元素2,....},{元素1,元素2,....},{元素1,元素2,....},.....};
例如: int [][] arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},};