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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Huberry 中级黑马   /  2014-8-24 17:44  /  1001 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. Collection:
  2.         |--List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
  3.                 |        List 本身是 Collection 接口的子接口,具备了 Collection 的所有方法。现在学习 List 体系特有的共性方法,
  4.                 |        查阅方法发现 List 的特有方法都有索引,这是该集合最大的特点。
  5.                 |
  6.                 |--ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
  7.                 |
  8.                 |--LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
  9.                 |
  10.                 |--Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
  11.         |        |
  12.         |--Set:元素无序,并且不可重复,线程不同步
  13.         |        |        Set接口中的方法和Collection中方法一致的。Set接口取出方式只有一种,迭代器。
  14.                 |
  15.                 |--HashSet:底层数据结构是哈希表,线程是不同步的。无序,高效。
  16.                 |                HashSet集合保证元素唯一性:通过元素的 hashCode 方法,和 equals 方法完成的。
  17.                 |                当元素的 hashCode 值相同时,才继续判断元素的 equals 是否为true。
  18.                 |                如果为true,那么视为相同元素,不存。如果为false,那么存储。
  19.                 |        |        如果hashCode值不同,那么不判断equals,从而提高对象比较的速度。
  20.                 |        |--LinkedHashSet:有序,hashset的子类。
  21.                 |       
  22.                 |--TreeSet:底层的数据结构就是二叉树,对Set集合中的元素的进行指定顺序的排序。不同步。
  23.                                 用于对Set集合进行元素的指定顺序排序,排序需要依据元素自身具备的比较性。
  24.                                 如果元素不具备比较性,在运行时会发生ClassCastException异常。
  25.                                 所以需要元素实现Comparable接口,强制让元素具备比较性,复写compareTo方法。
  26.                                 依据compareTo方法的返回值,确定元素在TreeSet数据结构中的位置。

  27.                         注:TreeSet方法保证元素唯一性的方式:就是参考比较方法的结果是否为0,如果return 0,视为两个对象重复,不存。

  28. Map:
  29.         |--Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。
  30.         |
  31.         |--HashMap:底层是哈希表数据结构,是线程不同步的。可以存储null键,null值。替代了Hashtable.
  32.         |
  33.         |--TreeMap:底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。

  34.         Map 集合遍历元素的两种方法:

  35.         1、通过keySet方法获取 Map 集合的键存入 Set 集合中,再对 Set 集合进行迭代获取键值,最后通过键获取对应的值。

  36.         2、通过entrySet方法获取 Map 集合中的所有对应关系,把这种关系以 Map.EntrySet类型存入Set集合中,再调用
  37.                
  38.                 Map.Entry()中的getKey和getValue方法来获取键和值。


复制代码


1 个回复

倒序浏览
老兄,你至少修改一下撒,直接照搬。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马