|
|
51CTO旗下网站
|
|
移动端

13.8 SortedMap接口

《Java开发实战经典》第13章Java类集,本章将对Java类集进行完整的介绍,针对于一些较为常用的操作也将进行深入的讲解。本节为大家介绍SortedMap接口。

作者:李兴华来源:清华大学出版社|2009-08-03 09:31

13.8  SortedMap接口

SortedMap接口是排序接口,只要是实现了此接口的子类,都属于排序的子类,TreeMap也是此接口的一个子类。SortedMap接口的定义如下:

  1. public interface SortedMap<K,V>  
  2. extends Map<K,V> 

之前讲解的TreeMap就是此接口的实现类,所以TreeMap可以完成排序的功能。在此接口上定义了一些Map中没有的方法,表13-14列出了部分的方法。

表13-14  SortedMap接口扩展的方法

序号

   

类型

   

1

public Comparator<? super K>

comparator()

普通

返回比较器对象

2

public K firstKey()

普通

返回第一个元素的key

3

public SortedMap<K,V> headMap

(K toKey)

普通

返回小于等于指定

key的部分集合

4

public K lastKey()

普通

返回最后一个元素的key

5

public SortedMap<K,V> subMap

(K fromKey,K toKey)

普通

返回指定key范围的集合

6

public SortedMap<K,V> tailMap

(K fromKey)

普通

返回大于指定key

的部分集合

下面通过一个范例让读者对以上的操作有所了解。

范例:SortedMap演示

  1. package org.lxh.demo13.mapdemo;  
  2. import java.util.Map;  
  3. import java.util.SortedMap;  
  4. import java.util.TreeMap;  
  5. public class SortedMapDemo {  
  6.     public static void main(String args[]){  
  7.         SortedMap<String, String> map = null
    // 声明SortedMap对象  
  8.         map = new TreeMap<String, String>();   
    // 实例化SortedMap对象  
  9.         map.put("D、jiangker""http://www.
    jiangker.com/"
    ) ; // 增加内容  
  10.         map.put("A、mldn""www.mldn.cn");        
    // 增加内容  
  11.         map.put("C、zhinangtuan""www.
    zhinangtuan.net.cn"
    ); // 增加内容  
  12.         map.put("B、mldnjava""www.mldnjava.cn");    
    // 增加内容  
  13.         System.out.print("第一个元素的内容的key:" 
    + map.firstKey()) ;  
  14.         System.out.println(";对应的值:" + 
    map.get(map.firstKey())) ;  
  15.         System.out.print("最后一个元素的内容的key:"
     + map.lastKey()) ;  
  16.         System.out.println(";对应的值:" +
    map.get(map.lastKey())) ;  
  17.         System.out.println("返回小于指定范围的集合") ;  
  18.         for(Map.Entry<String,String> me : 
    map.headMap(
    "B、mldnjava").   
  19. entrySet()){  
  20.             System.out.println("\t|- " +
    me.getKey() + 
    " --> " + me.   
  21. getValue());  
  22.         }  
  23.         System.out.println("返回大于指定范围的集合") ;  
  24.         for(Map.Entry<String,String> me :
    map.tailMap(
    "B、mldnjava").   
  25. entrySet()){  
  26.             System.out.println("\t|- " + 
    me.getKey() + 
    " --> " + me.   
  27. getValue());  
  28.         }  
  29.         System.out.println("部分集合") ;  
  30.         for(Map.Entry<String,String> me : 
    map.subMap(
    "A、mldnjava","C、  
  31. zhinangtuan").entrySet()){  
  32.             System.out.println("\t|- " +
    me.getKey() + 
    " --> " + me.   
  33. GetValue());  
  34.         }  
  35.     }  

程序运行结果:

  1. 第一个元素的内容的key:A、mldn;对应的值:www.mldn.cn  
  2. 最后一个元素的内容的key:D、jiangker;对应的值:
    http:
    //www.jiangker.com/  
  3. 返回小于指定范围的集合  
  4.     |- A、mldn-->www.mldn.cn  
  5. 返回大于指定范围的集合  
  6.     |- B、mldnjava-->www.mldnjava.cn  
  7.     |- C、zhinangtuan-->www.zhinangtuan.net.cn  
  8.     |- D、jiangker-->http://www.jiangker.com/  
  9. 部分的集合  
  10.     |- B、mldnjava-->www.mldnjava.cn 

以上规定了很多Map接口中没有的方法,但是如果要操作以上的方法,则对象所在的类必须实现Comparable接口。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

精通Spring 2.x——企业应用开发详解

本书深刻揭示了Spring的技术内幕,对IoC、AOP、事务管理等根基性的技术进行了深度的挖掘。读者阅读本书后,不但可以熟练使用Spring的各项功...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊