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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 wangyuyus 于 2013-11-19 17:53 编辑

请问Collection和Map集合的全部关系,上下级关系等。就是每个下级有什么,什么特性,有什么特殊用法么?开完视频捋不清了。

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

3 个回复

倒序浏览
Collection:顶层接口
|--->List:列表,元素是有序的(元素带角标索引),可以有重复元素,可以有null元素。
        |--->ArrayList(JDK1.2):底层的数据结构是数组数据结构,特点是查询速度快(因为带角标),
         但是增删速度稍慢,因为当元素多时,增删一个元素则所有元素的角标都得改变
         线程不同步。默认长度是10,当超过长度时,按50%延长集合长度。      
       |--->LinkedList(JDK1.2):底层数据结构式链表数据结构(即后面一个元素记录前一个),
          特点:查询速度慢,因为每个元素只知道前面一个元素,但增删速度快
          因为元素再多,增删一个,只要让其前后的元素重新相连即可
          线程是不同步的。      
       |--->Vector(JDK1.0):底层数据结构是数组数据结构.特点是查询和增删速度都很慢。
      默认长度是10,当超过长度时,按100%延长集合长度。
      线程同步。
      (Vector功能跟ArrayList功能一模一样,已被ArrayList替代)
|--->Set:集合,元素是无序的(因为没有索引),元素不可以重复。可以有null元素。
       |--->HashSet(JDK1.2):底层数据结构是哈希表、存取速度快、元素唯一、线程不同步。
      保证性元素唯一的原理:
      先判断元素的hashCode值是否相同,再判断两元素的equals方法是否为true
      (往HashSet里面存的自定义元素要复写hashCode和equals方法,
      以保证元素的唯一性!)
       |--->TreeSet:底层数据结构式二叉树。可以对Set集合中的元素进行排序。元素有序、线程不同步。
      保证元素唯一性的依据:compareTo方法return 0
Map:顶层接口,该集合存储的是键值对,而且键是唯一的,Map和Set很像,Set集合底层就是使用了Map集合。
Map集合没有迭代器,要取出元素必须先将Map集合转换成Set集合才能遍历元素
    |--->HashTable(JDK1.0):
  底层是哈希表数据结构;
  不可以使用null键和null值;
  用作键的对象必须实现hashCode和equals方法来保证键的唯一性
  线程同步,效率低
    |--->HashMap(JDK1.2):
  底层是哈希表数据结构;
  允许使用null键和null值;
  线程不同步,效率高;
  保证元素唯一性的:
    原理:先判断元素的hashCode值是否相同,再判断两元素的equals方法是否为true
    (往HashSet里面存的自定义元素要复写hashCode和equals方法,
    以保证元素的唯一性!)
|--->TreeMap(JDK1.0):
  底层是二叉树结构;
  允许使用null键和null值;
  线程不同步;
  可以给Map集合中的键进行排序.
  TreeMap排序的第一种方式:让元素自身具备比较性,比如八种基本数据类型或则字符串,
     实现Compareble接口,覆盖compareTo方法,
     此方式是元素的自然顺序   
  TreeMap排序的第一种方式:当元素自身不具备比较性(比如存储学生对象时)或者具备的
     比较性不是我们所需要的比较性时(比如想字符串的长度排序),
     此时就需要让集合自身具备自定义的比较性。
     那如何让集合自身具备比较性呢?可在集合初始化时,
     就让集合具备比较方式。即定义一个类,
     实现Comparator接口,覆盖compare方法。

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
给你一张集合结构图,一目了然

回复 使用道具 举报
如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马