第5章 集合框架(二).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 集合框架(二)

第五章 集合框架 课程目标 Map集合接口,以及该接口的实现类HashMap、HahsTable、TreeMap的使用。 常用的工具类Date、Calendar、Random的使用。 Map集合 首先要知道的是Map接口并不是继承Collection接口。 在JAVA 2的集合框架中,主要包括两个接口及其扩展和实现类,即Collection接口和Map接口。两者的区别在于前者存储一组对象;而后者Map接口则用于维护键/值对 key/value pairs 。 例如: 现实中我们把每个人的个人信息和他的社会安全号(相当于身份证号)进行关联。社会安全号是关键字,而个人信息就是对应的人映射到的值。理解什么是键/值映射对学习起Map集合就很容易了。 下面我们来看一下Map接口中定义的公共方法,Map接口为我们提供了完成下面三种主要功能的方法: 1 添加、删除操作 Object put Object key, Object value 将互相关联的一组键/值对放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字并不存在,则返回null。 Object remove Object key 从映像中删除与key相关的映射 void putAll Map t 将来自特定映像的所有元素添加给该映像 void clear 从映像中删除所有映射 2 ?查询操作 Object get Object key 获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回null。 boolean containsKey Object key 判断映像中是否存在关键字key。 boolean containsValue Object value 判断映像中是否存在值value。 int size 返回当前映像中映射的数量。 boolean isEmpty 判断映像是否为空。 3 视图,处理映像中键/值对组 Set keySet 返回映像中所有关键字的视图集。 Collection values 返回映像中所有值的视图集。 Set entrySet 返回Map.Entry对象的视图集,即映像中的关键字/值对 Hashtable Hashtable类实现了Map接口,同Vector一样也是一个历史集合。在Hashtable中使用key对象的哈希值,作为对应的对象的相对存储地址,以便实现根据关键字快速查找对象的功能。所以只有一个实现了hashCode 和equals 方法的对象才可作为Hashtable的key。null值不能作为关键字或值。 Hashtable有以下四个构造方法: Hashtable 创建一个默认的Hashtable ? Hashtable int size 创建一个由size指定初始大小的Hashtable Hashtable int size,float loadFactor 创建一个由size指定初始大小并且填充率为 loadFactor的Hashtable。参数意义同HashSet相同 ? Hashtable Map c 创建一个包含集合c中元素的Hashtable 示例 //创建一个Hashtable Hashtable hashTable new Hashtable ; 或Map hashTable new Hashtable ; //判断hashTable是否为空 boolean isempty hashTable. isEmpty ; //添加键/值对到Hashtable中 hashTable.put a, new Integer 1 ; hashTable.put b, new Integer 2 ; hashTable.put c, this is c ; //获取Hashtable中键/值对的数量 int size hashTable.getSize ; //添加一个新的值来覆盖已经存在的值 hashTable.put a,this is a ; //删除一个键/值对 hashTable.remove b ; //用迭代器Iterator循环查询hashTable中的键(Key) Iterator it hashTable.keySet .iterator ; while it.hasNext // Get key Object key it.next ; //用迭代器Iterator循环查询hashTable中的值(Value) Iterator it ha

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档