位置:首页 > Java技术 > Java.util包 > java.util.TreeMap.subMap()方法实例

java.util.TreeMap.subMap()方法实例

subMap(K fromKey, boolean fromInclusive, K toKey, boolean toInclusive) 方法用于返回此映射从fromKey到toKey范围的键值的部分视图。如果fromKey和toKey相等,则返回映射为空,除非fromExclusive和toExclusive都是true。返回的映射受此映射支持,因此改变返回映射反映在此映射中,反之亦然。

声明

以下是java.util.TreeMap.subMap()方法的声明。

public NavigableMap<K,V> subMap(K fromKey,
                                boolean fromInclusive,
                                K toKey,
                                boolean toInclusive)

参数

  • fromKey-- 返回映射中键的低端点。

  • fromInclusive-- true如果低端点要包含在返回的视图。

  • toKey-- 返回映射中键的高端点。

  • toInclusive-- 这为true如果高端点要包含在返回的视图。

返回值

该方法调用返回此映射从fromKey到toKey的范围的键值的部分视图。

异常

  • ClassCastException-- 如果fromKey和toKey不能相比的另一个使用此映射的比较,抛出此异常。

  • NullPointerException-- 该异常被抛出,如果fromKey或toKey为null,并且此映射使用自然顺序,或者其比较器不允许使用null键。

  • IllegalArgumentException-- 该异常被抛出,如果fromKey大于toKey; 如果此映射本身有范围限制,并且fromKey或toKey位于范围的边界之外。

例子

下面的示例演示java.util.TreeMap.subMap()方法的使用

package com.yiibai;

import java.util.*;

public class TreeMapDemo {
   public static void main(String[] args) {
      // creating maps 
      TreeMap<Integer, String> treemap = new TreeMap<Integer, String>();
      NavigableMap<Integer, String> treemapincl = new TreeMap<Integer, String>();
            
      // populating tree map
      treemap.put(2, "two");
      treemap.put(1, "one");
      treemap.put(3, "three");
      treemap.put(6, "six");
      treemap.put(5, "five");      
      
      System.out.println("Getting a portion of the map");
      treemapincl=treemap.subMap(1, true, 3, true);
      System.out.println("Sub map values: "+treemapincl);      
   }    
}

现在编译和运行上面的代码示例,将产生以下结果。

Getting a portion of the map
Sub map values: {1=one, 2=two, 3=three}