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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柳雷 中级黑马   /  2012-7-27 16:58  /  5084 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 柳雷 于 2012-7-27 17:05 编辑

老师的这句话把我问晕了,数组难道不是集合的一种啊?

12 个回复

倒序浏览
{:soso_e136:}这这这,数组是不可变的,集合是可变的,这算是区别吗?貌似数组也是集合中的一种吧
回复 使用道具 举报
一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。
二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。
三:数组是一种可读/可写数据结构---没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方法,以只读方式来使用集合。该方法将返回一个集合的只读版本。

回复 使用道具 举报
1、数组声明了能添加的元素类型,集合不声明;
2、数组是静态的,数组具有固定大小,创建后就无法改变容量了。
集合可以动态扩展容量,根据需要动态改变大小;
3、数组的类型检查比集合要好;
4、数组是可读/可写数据结构,不能创建一个只读数组。
集合可以使用集合中提供的只读方式来实现集合的只读
回复 使用道具 举报
教你个答题技巧,你把数组和集合的定义和特点都说一遍,然后找几点不同就行。
回复 使用道具 举报
聂峰 发表于 2012-7-27 17:03
一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。
二:一个 ...

不错,回答得很好
回复 使用道具 举报
乐峰 中级黑马 2012-7-27 17:05:27
7#
柳雷 发表于 2012-7-27 17:04
不错,回答得很好

谢谢呵呵
回复 使用道具 举报
数组与几何的区别:
1、数组可以存储对象,但长度是固定的,集合的长度是可变的;
2、数组中可以存储基本数据类型和对象,集合只能存储对象;
回复 使用道具 举报
杨志 高级黑马 2012-7-27 17:20:57
9#
本帖最后由 杨志 于 2012-7-27 17:28 编辑

以下为jdk1.6中ArrayList中的构造函数源码。
  1.     public ArrayList(int initialCapacity) {
  2.         super();
  3.         if (initialCapacity < 0)
  4.             throw new IllegalArgumentException("Illegal Capacity: "+
  5.                                                initialCapacity);
  6.         this.elementData = new Object[initialCapacity];
  7.     }

  8.     /**
  9.      * Constructs an empty list with an initial capacity of ten.
  10.      */
  11.     public ArrayList() {
  12.         this(10);
  13.     }
复制代码
可以看出在建立ArrayList对象的时候。
默认建立了一个长度为10的Object数组。但是这只是ArrayList 的实现方式。
在LinkedList中是这样的。
  1. public LinkedList() {
  2. header.next = header.previous = header;
  3. }
复制代码
我不知道你们看不看得懂!如果有C 基础的话。应该知道这是链表实现的。
这就是为什么LinkedList的增删效率高!查询效率低!而ArrayList 的查询效率高!增删效率低!
这就是说其实数组只是集合实现的一种方式。

评分

参与人数 1技术分 +2 收起 理由
蒋映辉 + 2 很给力!

查看全部评分

回复 使用道具 举报
不会,自己复习一下就可以了,不要泄题,这样的话,小心刘老师巡贴的时候把你给和谐了
回复 使用道具 举报
{:soso_e127:}
回复 使用道具 举报
数组声明了它容纳的元素的类型,而集合不声明。
数组是静态的,一旦创建了就无法改变容量了。而集合是可以动态扩展容量。
回复 使用道具 举报
一、数组声明了它容纳的元素的类型,而集合不声明。 二、数组是静态的,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马