【java】【集合】数组和集合的基本概述

一、数组

int[] arr = new int[5];   //基本数据类型数组
Student[] arr = new Student[5];   //引用数据类型数组 

注意:基本数据类型数组中存储的是具体的值,而引用数据类型数组中存储的是地址值,arr[1]相当于是一个Student类的对象引用。

数组和集合存储引用数据类型,存的都是地址值


二、集合

1、集合的由来

    * 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少。

2、数组和集合的区别

  区别1 :

        * 数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值

       * 集合只能存储引用数据类型(对象),集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象(Integer[])

 区别2:

        * 数组长度是固定的,不能自动增长

        * 集合的长度的是可变的,可以根据元素的增加而增长

    注意:部分集合的底层也是用数组实现的,当长度需要变长时会重新建立1.5倍长度的新数组,拷贝数据,然后原数组变成垃圾,内存

3、数组和集合什么时候用(考虑内存)

        * 如果元素个数是固定的推荐用数组

        * 如果元素个数不是固定的推荐用集合

4、集合继承体系图





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值