Java 数组和集合的区别

目录

相同点

存储元素的区别 : 

长度的区别:

使用选择

相互转换

数组的补充


相同点

集合和数组都是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},};

如果对您有所帮助的话

不妨加个关注,点个赞哈,您的每个小小举动都是对我莫大的支持!

 

  • 15
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ang_qq_252390816

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值