JavaSE_16_集合类(三)探析.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实现Map接口的集合类用来存储键-值映射对。 JDK API中Map接口的实现类常用的有 HashMap TreeMap Hashtable (不常用) Map实现类中存储的键-值映射对是通过键来唯一标识,Map底层的键是用Set来存放的。 所以存入HashMap中的映射对的键如果是自定义的类,应该重写hashCode()和equals()方法。 常用String作为Map的键。;MapK,V接口中定义的一些常用方法: V put(K key, V value)  //将指定的键-值对存入Map中 V get(Object key);  //返回指定键所映射的值 V remove(Object key); //根据指定的键把此键-值对从Map中移除。 boolean containsKey(Object key); //判断此Map是否包含指定键的键-值对。 boolean containsValue(Object value);//判断此Map是否包含指定值的键-值对。 boolean isEmpty();  //判断此Map中是否有元素。 int size();  //获得些Map中键-值对的数量。 void clear();  //清空Map中的所有键-值对。 SetK keySet();   //返回此Map中包含的键的Set集。 CollectionV values();  //返回此Map中包含的值的Collection集。值是可重复的.;HashMap内部对键用Set进行散列存放。所以根据键去取值的效率很高。 它是使用频率最高的一个集合。 补充:封装类对象的hashCode();Demo;Demo;Hashtable是JDK1.0就有了, HashMap是JDK1.2引入的,操作大多跟Hashtable相同,建议使用HashMap. Hashtable (注意大小写) 是同步的(线程安全的); 不能有null键,也不能有null值,否则运行时出空指针异常; 基于陈旧的DictionaryK,V类 ,有contains() 方法,用于测试此映射表中是否存在指定值,等同于HashMap类中的containsValue()(本类中也有);Hashtable与HashMap的不同(笔试常考);TreeMap内部使用红黑树结构对key进行排序存放,所以放入TreeMap中的key-value对的key必须是可排序的。 TreeMap()使用键的自然顺序构造一个新的、空的树映射。 TreeMap(Comparator? super K? comparator) 构造一个新的、空的树映射,该映射根据给定比较器进行排序。;TreeMap练习;TreeMap练习;Map.Entry是Map中内部定义的一个static接口,专门用来保存key?value的内容。 Map与Map.Entry;对于Map接口来说,其本身是不能直接使用迭代进行输出的,因为Map中的每一个位置存放的是一对值(key?value),而Iterator中每次只能找到一个值。所以如果非要使用迭代进行输出的话,要按照以下操作步骤完成: 1.将Map的实例通过entrySet()方法变为Set接口对象 2.通过Set接口的实例的iterator() 将Iterator实例化 3.通过Iterator迭代输出,每个内容都是Map.Entry的对象 4.通过Map.Entry进行key?value的分离。getKey,getValue Map大多时候用于存放和查找,遍历输出属于少数操作。;Map.Entry;选择标准: 存放要求 无序,无下标,不能随机访问-Set 有序,有下标,可以随机访问-List 不可重复--Set 可重复--List key-value对,较多存放和查询,较少遍历-Map 读和改(插入删除)的效率 Hash*-两者都最高 ArrayList-读(指定下标随机访问)快,插入/删除元素慢 LinkedList-读(指定下标随机访问)慢,插入/删除元素快;自定义泛型;自定义泛型;受限制的泛型;受限制的泛型;受限制的泛型;受限制的泛型;受限制的泛型;受限制的泛型;导出项目代码;Collection接口 Iterator接口 Comparable接口(自然顺序比较,TreeSet,TreeMap)、Comparator接口(自定义比较器, TreeSet,TreeMap) Set、List、Map接口 Collections类 ArrayList、LinkedList、Vector类 HashSet、LinkedHashSet、TreeSet类 HashMap、Hashtable、TreeMap类 集合的泛型操作(JDK5.0)

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档