Java 数组与容器类的区别

最近在自学容器类,感觉和之前学的数组有相似之处,想知道各种容器类与数组的根本区别或者说是什么情况用数组,什么时候用容器类,谢谢了。... 最近在自学容器类,感觉和之前学的数组有相似之处,想知道各种容器类与数组的根本区别
或者说是什么情况用数组,什么时候用容器类,谢谢了。
展开
 我来答
埙影
推荐于2018-04-12 · TA获得超过1904个赞
知道小有建树答主
回答量:189
采纳率:100%
帮助的人:66.5万
展开全部
容器类和数组,整体没啥区别,归根结底都是为了编程计算算法等需要出现的数据结构
所以说容器类和数组本质一样 存储数据的方式不一样,数组的存储方式是固定的,就是在初始化的时候数组有多少个元素就是固定的,而且类型必须是一致,比如里面是int类型,里面存放的元素全是int类型,不能有其他的类型。
而数组又是最常用的数据结构 所以几乎所有高级语言都可以直接定义数组
而java的容器类 ArrayList 底层结构也是数组 但是他大小可变,可以存放不同类型的值,里面也有泛型,不止ArrayList,还有Set ,Map等等,方式都差不多。都是可变的。
匿名用户
2015-03-12
展开全部
数组 和 容器 的最大区别在于 数组是固定长度,而容易可以不断自动申请内存增加长度;

其次,数组是有序的集合,而在容器中又分为 有序List 和 无序Map 的集合,

所以,在什么时候使用数组和容器,最主要是你看你存入的值是不是动态改变长度的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帽子狗
推荐于2016-11-20 · TA获得超过942个赞
知道小有建树答主
回答量:611
采纳率:50%
帮助的人:552万
展开全部

容器类和数组 根本没啥区别 归根结底都是为了编程计算算法等需要出现的数据结构

所以说容器类和数组本质一样  存储数据的方式不一样

而数组又是最常用的数据结构  所以几乎所有高级语言都可以直接定义数组

而java的容器类 ArrayList  底层结构也是数组 但是他大小可变


至于什么时候用什么 还应当根据底层结构来分析 


如果以前没有数据结构知识的话 推荐去看<<大话数据结构>>



本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一瞥不够
2015-11-09 · TA获得超过905个赞
知道小有建树答主
回答量:760
采纳率:71%
帮助的人:203万
展开全部
   数组和其它容器的区别主要有三方面:效率,类型,和保存基本类型的能力.在JAVA中,数组是一种效率很高的存储和随机访问对象引用序列的方式.数组是一
个简单的线性序列,因此访问速度很快,但也损失了其它一些特性.创建一个数组对象后,大小就固定了,如果空间不够,通常是再创建一个数组,然后把旧数组中
的所有引用移到新数组中.数组可可以保存基本类型,容器不行.
容器类不以具体的类型来处理对象,而是将所有的对象都以Object类型来处理,所以我们可以只创建一个容器,任意的Java对象都可以放进去.容器类可
以使用包装类(Integer,Double等),以便把基本类型放入其中. List Set Map
都可以自动调整容量,数组不能。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刀画刀花
2015-03-12 · TA获得超过135个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:48.8万
展开全部

建议在学习集合(容器类)的时候阅读下相关源代码,可以很明确的发现ArrayList就是通过数组来实现各种功能的;

如果说二者有什么区别:

  1. 最大的区别是集合可变长,数组则是固定长度的,如果想改变数组的长度,则需要创建一个新的数组;

  2. 集合在处理不同数据有不同的方式和特性,而数组则没有。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式