自顶向下理解Java集合框架Map接口.docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Map基本概念数据结构中Map是一种重要的形式。Map接口定义的是查询表,或称查找表,其用于储存所谓的键/值对(key-value pair),其中key是映射表的索引。JDK结构中还存在实现Map类似功能的遗留集合:Hashtable(线程安全的散列映射表)Properties(属性映射表),常用于配置文件(如perties)。Map接口源代码package java.util;/* 映射表(查询表)泛型接口 */publicinterface MapK,V {/* 基本与Collection相同,返回映射表中key-value映射对数量(内部属性size) */int size();/* 基本与Collection相同,返回映射表是否包含映射对 */boolean isEmpty();/* 返回映射表是否包含指定的键 */boolean containsKey(Object key);/* 返回映射表是否包含指定的值,或者说指定的值是否有大于等于1个映射的键 */boolean containsValue(Object value); /* 如果映射表中存在指定key,返回此key的值;否则,返回null */ V get(Object key); /* 将键值对放入映射表中。 * 如果键存在,则用现在的值替换原有值,返回原有值对象; * 如果键不存在则存入键值对,返回null */ */ V put(K key, V value);/* 移除指定键对应的值。如果存在键,则移除,并返回移除值对象;反之,则返回null */ V remove(Object key); /* 复制另一张映射表元素到本映射表中 */void putAll(Map? extends K, ? extends V m); /* 基本同Collection,清空映射表 */void clear();/* 获得键的Set集合 */ SetK keySet();/* 获得值的Collection集合 */ CollectionV values();/* 获得键值对的Set集合 */ SetMap.EntryK, V entrySet();/* 内部接口 EntryK,V */interface EntryK,V { /* 获取键值对的键 */ K getKey();/* 获取键值对的值 */ V getValue();/* 设置键值对的值 */ V setValue(V value); /* 比较entry(键值对) */boolean equals(Object o);/* 生成entry对象的hash值 */int hashCode(); } /* 比较映射表 */boolean equals(Object o); /* 生成映射表对象的hash码*/int hashCode();}深入理解码源对象比较好基友:equals(Object obj)、hashcode()MapK, V接口及其内部接口EntryK, V都有这俩方法。如此设计,目的就是规范其实现子类,要求子类必须重写Object类的这俩方法,从而完成映射表这种数据结构的既定思想。boolean equals(Object o); // 对象比较int hashCode(); // 哈希码集合框架通用方法:size()、isEmpty()集合框架(包括Collection接口及其子接口List、Set,Map接口)内部维护一个size属性,其描述用户提供可操纵元素数量,通过size()方法向用户提供可见性,通过isEmpty()方法向用户说明是否集合中仍存在其可操纵的元素。int size(); // 元素保有量boolean isEmpty(); // 元素数量是否为0键、值存在性判断:containsKey(Object key)、containsValue(Object value)boolean containsKey(Object key); // 映射表是否包含指定键的元素boolean containsValue(Object value); // 映射表是否包含指定值得元素映射表增删查改:增、改 ?V put(K key, V value) ?V putAll(Map? extends K, ? value V m)删 ? ? ? ?V remove(Object key) ? void clear()查 ? ? ? ?V get(Object key)V put(K

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档