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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yangsing0 中级黑马   /  2014-11-12 20:38  /  766 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.      Set集合特点
  无序,无下标,不重复  和 List正好相反
  而且,Set接口中的方法和Collection一致
  获取Set集合只能有两种方式,一个迭代器,一个增强for
2.      HashSet集合
  底层是一个哈希表,存储哈希值,桶状结构,查询快
  存储到HashSet集合中的对象,必须实现hashCode和equals方法,否则无法判断是否重复元素
  重写hashCode和equals方法,都是安装类中的成员变量来进行的,需要的就是成员变量的值。
  如果日后你写的类,有可能存储到哈希表中,重写两个方法,但是类中没有成员变量,不重写方法
  哈希值,是JVM根据底层哈希算法计算出的十进制数,虚拟的地址,哈希值的出现目的就为了集合而来
  面试题,对象equals返回值,对象的哈希值必须相同,如果哈希值相同equals不一定返回值,是hashCode协定规定的,重写方法要一起完成
3.      LinkedHashSet
  有序的Set集合,开始版本JDK1.4线程不安全集合,基于链表的哈希表
4.      TreeSet
  底层是二叉树结构,线程不安全集合,运行速度快
  对于存储到TreeSet集合中的对象,会按照对象的自然顺序进行排序,如果对象没有自然顺序,抛出异常
  TreeSet的排序依据,对象的自然顺序,比较器--TreeSet自己比较
  对象的自然顺序,类实现java.lang.Comparabe接口重写compareTo方法
  比较器TreeSet自己比较,定义类实现java.util.Comparator接口重写compare方法,将比较器对象,传递到TreeSet集合构造方法
  TreeSet优先选择比较器,如果有比较器,有没有自然顺序不重要
  会画二叉树图
5.      Map集合
  存储键值对映射的集合
  集合中,键不能重复,每个键只能映射一个值
  方法:put  get  containsKey  containsValue
  发现接口中,没有迭代器
6.      作业任务
  今天的案例,写案例代码
  Map集合的获取方式
  Map接口中的方法keySet  entrySet
  keySet 将Map中所有的键,存储到Set集合
  entrySet 将Map中的映射关系对象Entry存储到Set集合
Map<String,HashMap<String,String>>

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马