Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類參考

Java 有用資源

Java - TreeMap 類



TreeMap 類使用樹實現 Map 介面。TreeMap 提供了一種有效的方式來按排序順序儲存鍵值對,並允許快速檢索。

請注意,與雜湊對映不同,TreeMap 保證其元素將按升序鍵順序排序。

以下是 TreeMap 類支援的建構函式列表。

序號 建構函式和描述
1

TreeMap( )

此建構函式構建一個空的 TreeMap,它將使用其鍵的自然順序進行排序。

2

TreeMap(Comparator comp)

此建構函式構建一個空的基於樹的對映,它將使用 Comparator comp 進行排序。

3

TreeMap(Map m)

此建構函式使用來自 m 的條目初始化一個 TreeMap,它將使用鍵的自然順序進行排序。

4

TreeMap(SortedMap sm)

此建構函式使用來自 SortedMap sm 的條目初始化一個 TreeMap,它將按與 sm 相同的順序進行排序。

除了從其父類繼承的方法外,TreeMap 還定義了以下方法:

序號 方法和描述
1

void clear()

從此 TreeMap 中刪除所有對映。

2

Object clone()

返回此 TreeMap 例項的淺複製。

3

Comparator comparator()

返回用於對該對映進行排序的比較器,如果該對映使用其鍵的自然順序,則返回 null。

4

boolean containsKey(Object key)

如果此對映包含指定鍵的對映,則返回 true。

5

boolean containsValue(Object value)

如果此對映將一個或多個鍵對映到指定值,則返回 true。

6

Set entrySet()

返回此對映中包含的對映的 Set 檢視。

7

Object firstKey()

返回當前在此排序對映中的第一個(最低)鍵。

8

Object get(Object key)

返回此對映將指定鍵對映到的值。

9

SortedMap headMap(Object toKey)

返回此對映的一部分的檢視,其鍵嚴格小於 toKey。

10

Set keySet()

返回此對映中包含的鍵的 Set 檢視。

11

Object lastKey()

返回當前在此排序對映中的最後一個(最高)鍵。

12

Object put(Object key, Object value)

在此對映中將指定值與指定鍵關聯。

13

void putAll(Map map)

將指定對映中的所有映射覆制到此對映。

14

Object remove(Object key)

如果存在,則從此 TreeMap 中刪除此鍵的對映。

15

int size()

返回此對映中鍵值對映的數量。

16

SortedMap subMap(Object fromKey, Object toKey)

返回此對映的一部分的檢視,其鍵範圍從 fromKey(包含)到 toKey(不包含)。

17

SortedMap tailMap(Object fromKey)

返回此對映的一部分的檢視,其鍵大於或等於 fromKey。

18

Collection values()

返回此對映中包含的值的集合檢視。

示例

以下程式說明了此集合支援的幾種方法:

import java.util.*;
public class TreeMapDemo {

   public static void main(String args[]) {
      // Create a hash map
      TreeMap tm = new TreeMap();
      
      // Put elements to the map
      tm.put("Zara", new Double(3434.34));
      tm.put("Mahnaz", new Double(123.22));
      tm.put("Ayan", new Double(1378.00));
      tm.put("Daisy", new Double(99.22));
      tm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = tm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
      
      // Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      // Deposit 1000 into Zara's account
      double balance = ((Double)tm.get("Zara")).doubleValue();
      tm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + tm.get("Zara"));
   }
}

這將產生以下結果:

輸出

Ayan: 1378.0
Daisy: 99.22
Mahnaz: 123.22
Qadir: -19.08
Zara: 3434.34

Zara's new balance: 4434.34
java_collections.htm
廣告