Java-treemap-class

提供:Dev Guides
移動先:案内検索

Java-TreeMapクラス

TreeMapクラスは、ツリーを使用してMapインターフェイスを実装します。 TreeMapは、ソートされた順序でキー/値のペアを保存する効率的な手段を提供し、迅速な取得を可能にします。

ハッシュマップとは異なり、ツリーマップでは、要素がキーの昇順でソートされることが保証されます。

以下は、TreeMapクラスでサポートされるコンストラクターのリストです。

Sr.No. Constructors & Description
1

TreeMap( )

このコンストラクターは、キーの自然順序を使用してソートされる空のツリーマップを構築します。

2

TreeMap(Comparator comp)

このコンストラクターは、Comparator compを使用してソートされる空のツリーベースのマップを構築します。

3

TreeMap(Map m)

このコンストラクタは、キーの自然な順序を使用してソートされる m のエントリでツリーマップを初期化します。

4

TreeMap(SortedMap sm)

このコンストラクターは、 sm と同じ順序で並べ替えられるSortedMap sm のエントリを使用してツリーマップを初期化します。

親クラスから継承されたメソッドとは別に、TreeMapは次のメソッドを定義します-

Sr.No. Method & Description
1

void clear()

このTreeMapからすべてのマッピングを削除します。

2

Object clone()

このTreeMapインスタンスの浅いコピーを返します。

3

Comparator comparator()

このマップの順序付けに使用されるコンパレータを返します。このマップがキーの自然順序を使用する場合はnullを返します。

4

boolean containsKey(Object key)

このマップに指定されたキーのマッピングが含まれている場合、trueを返します。

5

boolean containsValue(Object value)

このマップが1つ以上のキーを指定された値にマップする場合はtrueを返します。

6

Set entrySet()

このマップに含まれるマッピングのセットビューを返します。

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