[API] java.util.TreeMapクラス

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

【主要メソッド】
戻値型メソッド静的説明
Vget(Object k)キーがkの要素を返す
(キーが存在しない場合はnullが返る)
Vput(Object k, Object v)キーがk、値がvのデータをセットする
(既に存在するキーの場合は値は上書きされる)
Vremove(Object k)キーkの値を削除する
(キーが存在しなくてもエラーにはならない)
voidclear()全てのキーと値を削除する
booleancontainsKey(Object k)キーkが存在する場合にtrueを返す
booleanisEmpty()要素が存在しない場合はtrueを返す
intsize()要素数を返す
(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

格納した順番ではなく、キーによってソートされます。

コメント

タイトルとURLをコピーしました