# 如何从`TreeMap`中获取子映射 - Java

> 原文： [https://beginnersbook.com/2014/07/how-to-get-the-sub-map-from-treemap-example-java/](https://beginnersbook.com/2014/07/how-to-get-the-sub-map-from-treemap-example-java/)

在这个例子中，我们将看到如何从`TreeMap`获取子映射。我们正在使用`TreeMap`类的`subMap()`方法。有关详细信息，请参阅以下程序中的注释。

#### 示例

```java
import java.util.*;

class TreeMapDemo {
  public static void main(String args[]) {

    // Create a TreeMap
    TreeMap<String, String> treemap = 
            new TreeMap<String, String>();

    // Put elements to the map
    treemap.put("Key1", "Jack");
    treemap.put("Key2", "Rick");
    treemap.put("Key3", "Kate");
    treemap.put("Key4", "Tom");
    treemap.put("Key5", "Steve");
    treemap.put("Key6", "Ram");

    // Displaying TreeMap elements
    System.out.println("TreeMap Contains : " + treemap);

    // Getting the sub map
    /* public SortedMap<K,V> subMap(K fromKey,K toKey): Returns 
     * a view of the portion of this map whose keys range from 
     * fromKey, inclusive, to toKey, exclusive. 
     * (If fromKey and toKey are equal, the returned map is empty.) 
     * The returned map is backed by this map, so changes in the 
     * returned map are reflected in this map, and vice-versa. 
     * The returned map supports all optional map operations that 
     * this map supports.
     */
    SortedMap<String, String> sortedMap = treemap.subMap("Key2","Key5");
    System.out.println("SortedMap Contains : " + sortedMap);

    // Removing an element from Sub Map
    sortedMap.remove("Key4");

    /* Displaying elements of original TreeMap after 
     * removing an element from the Sub Map. Since Sub Map is 
     * backed up by original Map, the element should be removed
     * from this TreeMap too.
     */
    System.out.println("TreeMap Contains : " + treemap);
  }
}
```

**输出：**

```java
TreeMap Contains : {Key1=Jack, Key2=Rick, Key3=Kate, Key4=Tom, Key5=Steve, Key6=Ram}
SortedMap Contains : {Key2=Rick, Key3=Kate, Key4=Tom}
TreeMap Contains : {Key1=Jack, Key2=Rick, Key3=Kate, Key5=Steve, Key6=Ram}
```

**参考：**

[`subMap()`方法 - `TreeMap` javadoc](https://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html#subMap(K,%20K))
[SortedMap javadoc](https://docs.oracle.com/javase/7/docs/api/java/util/SortedMap.html)