9.4.Map,Map.Entry,HashMap,LinkedHashMap,WeakHashMap,TreeMap,--基于文本的应用.doc

9.4.Map,Map.Entry,HashMap,LinkedHashMap,WeakHashMap,TreeMap,--基于文本的应用.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9.4.Map,Map.Entry,HashMap,LinkedHashMap,WeakHashMap,TreeMap,--基于文本的应用

Map,Map.Entry,HashMap,LinkedHashMap,WeakHashMap,TreeMap,--基于文本的应用 【】 数学中的映射关系在Java中就是通过Map来实现的。它表示,里面存储的元素是一个对(pair),我们通过一个对象,可以在这个映射关系中找到另外一个和这个对象相关的东西。 前面提到的我们对于根据帐号名得到对应的人员的信息,就属于这种情况的应用。我们讲一个人员的帐户名和这人员的信息作了一个映射关系,也就是说,我们把帐户名和人员信息当成了一个“键值对”,“键”就是帐户名,“值”就是人员信息。下面我们先看看Map 接口的常用方法。 常用方法 Map 接口不是 Collection 接口的继承。而是从自己的用于维护键-值关联的接口层次结构入手。按定义,该接口描述了从不重复的键到值的映射。 我们可以把这个接口方法分成三组操作:改变、查询和提供可选视图。 改变操作允许您从映射中添加和除去键-值对。键和值都可以为 null。但是,您不能把 Map 作为一个键或值添加给自身。 ?Object put(Object key,Object value):用来存放一个键-值对Map中 ?Object remove(Object key):根据key(键),移除一个键-值对,并将值返回 ?void putAll(Map mapping) :将另外一个Map中的元素存入当前的Map中 ?void clear() :清空当前Map中的元素 查询操作允许您检查映射内容: ?Object get(Object key) :根据key(键)取得对应的值 ?boolean containsKey(Object key) :判断Map中是否存在某键(key) ?boolean containsValue(Object value):判断Map中是否存在某值(value) ?int size():返回Map中 键-值对的个数 ?boolean isEmpty() :判断当前Map是否为空 最后一组方法允许您把键或值的组作为集合来处理。 ?public Set keySet() :返回所有的键(key),并使用Set容器存放 ?public Collection values() :返回所有的值(Value),并使用Collection存放 ?public Set entrySet() :返回一个实现 Map.Entry 接口的元素 Set 因为映射中键的集合必须是唯一的,就使用 Set 来支持。因为映射中值的集合可能不唯一,就使用 Collection 来支持。最后一个方法返回一个实现 Map.Entry 接口的元素 Set。 我们看看Map的常用实现类的比较,如下表: ? 简述 实现 操作特性 成员要求 Map 保存键值对成员,基于键找值操作,使用compareTo或compare方法对键进行排序 HashMap 能满足用户对Map的通用需求 键成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。 TreeMap 支持对键有序地遍历,使用时建议先用HashMap增加和删除成员,最后从HashMap生成TreeMap; 附加实现了SortedMap接口,支持子Map等要求顺序的操作 键成员要求实现Comparable接口,或者使用Comparator构造TreeMap键成员一般为同一类型。 LinkedHashMap 保留键的插入顺序,用equals 方法检查键和值的相等性 成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。 下面我们看一个简单的例子: import java.util.*;? public class MapTest { public static void main(String[] args) { Map map1 = new HashMap(); Map map2 = new HashMap(); map1.put(1,aaa1); map1.put(2,bbb2); map2.put(10,aaaa10); map2.put(11,bbbb11); //根据键 1 取得值:aaa1 System.out.println(map1.get(\1\)=+map1.get(1)); // 根据键 1 移除键值对1-aaa1 System.out.println(map1.remove(\1\)=+map1.remove(1)); System.out.println(map1.get(\1\)=+map1.get(1)); map1.p

文档评论(0)

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

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

1亿VIP精品文档

相关文档