java.util.TreeMapは基本的にHashMapクラスと同じですが、
キーによって要素が自動的にソートされる、nullが使用できないという点が異なります。
java.util.TreeMapの特徴
【TreeMapの特徴】
・要素の重複:不可
・nullの要素:不可
・自動ソート:あり
java.util.TreeMapの継承・実装
継承クラス
・java.lang.Object
・java.util.AbstractMap<K,V>
・java.util.TreeMap<K,V>
実装インターフェース
・java.io.Serializable
・java.lang.Cloneable
・java.util.Map<K,V>
・java.util.NavigableMap<K,V>
・java.util.SortedMap<K,V>
導入バージョン
・JDK1.2
java.util.TreeMapのAPI
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
V | get(Object k) | キーがkの要素を返す (キーが存在しない場合はnullが返る) | |
V | put(Object k, Object v) | キーがk、値がvのデータをセットする (既に存在するキーの場合は値は上書きされる) | |
V | remove(Object k) | キーkの値を削除する (キーが存在しなくてもエラーにはならない) | |
void | clear() | 全てのキーと値を削除する | |
boolean | containsKey(Object k) | キーkが存在する場合にtrueを返す | |
boolean | isEmpty() | 要素が存在しない場合はtrueを返す | |
int | size() | 要素数を返す |
- (TreeMap主要メソッドサンプル)
-
//キーが"K1"の値を返す tm.get("K1"); ※K1が存在しない場合はnullが返る //キーが"K2"、値が"hoge"という要素をセットする tm.put("K2", "hoge"); //キーが"K3"という要素を削除する tm.remove("K3"); ※K3が存在しなくてもエラーとはならない
java.util.TreeMapサンプルソース
- (TreeMapサンプル)
-
import java.util.TreeMap; import java.util.Iterator; public class TreeMapSample { public static void main(String args[]) { //TreeMapデータを作成 TreeMap<String, String> tm = new TreeMap<String, String>(); tm.put("D", "DDD"); tm.put("A", "AAA"); tm.put("C", "CCC"); tm.put("E", "EEE"); tm.put("B", "BBB"); tm.put("D", "ddd"); //キー"D"の値を更新する //TreeMapの先頭から順番に画面表示する Iterator<String> it = tm.keySet().iterator(); while (it.hasNext()) { String key = it.next(); System.out.println(key + "/" + tm.get(key)); } } }
- 実行結果
- C:\>java TreeMapSample A/AAA B/BBB C/CCC D/ddd E/EEE
格納した順番ではなく、キーによってソートされます。
コメント