科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道java.util 第1部分:类集框架 (13)

java.util 第1部分:类集框架 (13)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

java.util 第1部分:类集框架 (13)

作者:Herbert Schildt 著 张玉清 吴溥峰等 译 来源:清华大学出版社 2007年10月30日

关键字: 类集框架 java.util

  • 评论
  • 分享微博
  • 分享邮件
 

SortedMap 接口
SortedMap接口扩展了Map,它确保了各项按关键字升序排序。由SortedMap说明的方法总结在表15-7中。当调用映射中没有的项时,其中的几种方法引发一个NoSuchElementException异常。当对象与映射中的元素不兼容时,则引发一个ClassCastException异常。当试图使用映射不允许使用的null对象时,则引发一个NullPointerException异常。
表15-7 由SortedMap 定义的方法
方法 描述
Comparator comparator( ) 返回调用排序映射的比较函数。如果调用映射使用的是自然顺序的话,则返回null
Object firstKey( ) 返回调用映射的第一个关键字
SortedMap headMap(Object end) 返回一个排序映射,该映射包含了那些关键字小于end的映射输入
Object lastKey( ) 返回调用映射的最后一个关键字
SortedMap subMap(Object start, Object end) 返回一个映射,该映射包含了那些关键字大于等于start同时小于end的输入
SortedMap tailMap(Object start) 返回一个映射,该映射包含了那些关键字大于等于start的输入
排序映射允许对子映射(换句话说,就是映射的子集)进行高效的处理。使用headMap( ),tailMap( )或subMap( )方法可以获得子映射。调用firstKey( )方法可以获得集合的第一个关键字。而调用lastKey( )方法可以获得集合的最后一个关键字。
Map.Entry 接口
Map.Entry接口使得可以操作映射的输入。回想由Map接口说明的entrySet( )方法,调用该方法返回一个包含映射输入的集合(Set)。这些集合元素的每一个都是一个Map.Entry对象。表15-8总结了由该接口说明的方法。
表15-8 由Map.Entry 定义的方法
方法 描述
boolean equals(Object obj) 如果obj是一个关键字和值都与调用对象相等的Map.Entry,则返回true
Object getKey( ) 返回该映射项的关键字
Object getValue( ) 返回该映射项的值
int hashCode( ) 返回该映射项的散列值
Object setValue(Object v) 将这个映射输入的值赋给v。如果v不是映射的正确类型,则引发一个ClassCastException 异常。如果v 存在问题, 则引发一个
IllegalArgumentException异常。如果v是null而映射又不允许null关键字,则引发一个NullPointerException异常。如果映射不能被改变,则引发一个UnsupportedOperationException异常。
15.6.2 映射类
有几个类提供了映射接口的实现。可以被用做映射的类总结如下:
类 描述
AbstractMap 实现大多数的Map接口
HashMap 将AbstractMap扩展到使用散列表
TreeMap 将AbstractMap扩展到使用树
WeakHashMap 将AbstractMap扩展到使用弱关键字散列表
注意AbstractMap对三个具体的映射实现来说,是一个超类。WeakHashMap实现一个使用“弱关键字”的映射,它允许映射中的元素,当该映射的关键字不再被使用时,被放入回收站。关于这个类,在这里不做更深入的讨论。其他的类将在下面介绍。
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章