A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

数组可以存放基本数据类型和对象,集合只能存对象。数组还支持索引
回复 使用道具 举报
我觉得可以肯定的是集合比数组的功能要强大,就算java某一天想舍弃数组,也很难做到了,编程语言为了向后兼容一定会牺牲很多东西的
回复 使用道具 举报
自学小番薯 发表于 2015-3-3 12:31
既然集合这么强大,数组还留着有什么用呢?
难道数组拥有集合所没有的优点?比如高效,安全之类的?
...

数组是定量的容器,
数组是容器的始祖。

缓冲技术,实现了数组的动态创建。
因而,发展出了新的容器,StringBuffer,StringBuilder.
缓冲技术的容器很强大了,可以什么都存。当然包括对象。
那么,它能直接操作对象吗?不行。想要使用它其中的元素,只有转成字符串。因为这是他的使命,出现就是为了增强数组和字符串。

未完成的任务只能交给新的兄弟们,他们是集合,可以存储并操作对象。
数组完全淘汰了吗?
List用的是什么结构?数组结构。动态的数组而已。
集合新增加了数据结构,tree和hash.它们的底层用没用到数组,没瞧过源码,不敢妄断。

综上:
数组是容器的基石。


回复 使用道具 举报
数组是定长的 集合不是 而且集合的方法更多 更方便一些
回复 使用道具 举报
集合要比数组的功能强大,是个更大的容器。
回复 使用道具 举报
如果需要表示矩阵的话用二维数组还是比较方便吧?
回复 使用道具 举报
数组和集合都是用来数据的,但是两者有区别:数组存放的是同一类型的数据(对象),而集合能存放不同类型的数据(对象);数组长度是固定的,集合的长度是可变的
回复 使用道具 举报
sofeel 发表于 2015-3-3 18:38
数组是定量的容器,
数组是容器的始祖。

涨姿势了   太感谢你的科普~~~
回复 使用道具 举报
自学小番薯 发表于 2015-3-4 19:23
涨姿势了   太感谢你的科普~~~

呵呵  数组很有用吧
回复 使用道具 举报
楼主知道什么是数据结构吗 数据存放在不同的数据结构中对算法效率有相当大的影响 相同的数据放在不同的数据结构中 对他们做相同的处理 处理器运算耗费的时间可能相差几倍甚至几十倍
回复 使用道具 举报
ko889910 发表于 2015-3-4 22:11
楼主知道什么是数据结构吗 数据存放在不同的数据结构中对算法效率有相当大的影响 相同的数据放在不同的数据 ...

看来牵涉到越底层的东西,那些计算机基础就起作用了
以后一定要把计算机的专业课给补上
回复 使用道具 举报
本帖最后由 白春秋 于 2015-3-5 21:42 编辑

数组和集合都是容器,但是说装的东西不同:数组既可以存储基本数据类型又可以存对象,但是必须是同一类型的,而且长度是固定的;集合只能存储对象,长度是可变的。因此集合和数组都有各自特有的功能,可以互相弥补对方的局限,不可替代
回复 使用道具 举报
ArrayList 就是基于数组  ArrayList源代码就是用数组实现的。
回复 使用道具 举报
数组可以存储基本数据类型和引用数据类型,collection集合只能存储引用数据类型
回复 使用道具 举报
看了这么多 确实涨姿势了
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马