Java TreeMap クラスは、マップ インターフェイスを使用してツリー構造にデータを格納します。このクラスは AbstractMap クラスを拡張し、その親クラスと同様に、TreeMap には 2 つの型パラメーターがあります。その型パラメーターの 1 つは TreeMap のキーを表し、もう 1 つは値を表します。
TreeMap データ構造はキーと値のペアを格納し、このデータに対して CRUD 操作を実行できるようにします。
Java で TreeMap を作成する方法
TreeMap クラスには、新しい TreeMap オブジェクトを作成するために使用できる 4 つのコンストラクターがあります。デフォルトのコンストラクターは、4 つの中で最も人気があります。このコンストラクターは引数をとらず、空のツリー マップを生成します。
// Create a new tree map
TreeMap<Integer,String> customers = new TreeMap<Integer,String>();
上記のコードは、と呼ばれる空のツリー マップを生成します。 顧客 .
TreeMap データ構造への入力
の 置く() メソッドは項目を TreeMap オブジェクトに追加します。キーとその値の 2 つの引数を取ります。アイテムをツリー マップにランダムな順序で追加できます。データ構造は、キーに従って昇順でアイテムを格納します。
// Populate a tree map
customers.put(105, "Jessica Jones");
customers.put(102, "Mark Williams");
customers.put(104, "Phil Blair");
customers.put(101, "Kim Brown");
customers.put(103, "Jim Riley");
上記のコードは、顧客ツリー マップに 5 人の顧客をランダムな順序で追加します。
ラズベリーパイ3でwifiを設定する
TreeMap でのアイテムの表示
TreeMap クラスは、そのデータをオブジェクトに格納します。したがって、ツリー マップ内のすべてのアイテムを表示するには、ツリー マップ オブジェクトをコンソールに出力するだけです。
削除されたYouTubeビデオが何であったかを見つける方法
// View all tree map items as an object
System.out.println(customers);
上記のコードは、次の出力をコンソールに出力します。
{101=Kim Brown, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
上記のオブジェクトでは、項目が昇順で表示されていることに注意してください。を使用して、各アイテムとそれに対応するキーを表示することもできます Java for ループ .
// View all items with an iterator
for (Entry<Integer, String> customer : customers.entrySet()) {
System.out.println("Key: " + customer.getKey() + " Value: " + customer.getValue());
}
上記のコードは、次の出力をコンソールに出力します。
Key: 101 Value: Kim Brown
Key: 102 Value: Mark Williams
Key: 103 Value: Jim Riley
Key: 104 Value: Phil Blair
Key: 105 Value: Jessica Jones
TreeMap 内のアイテムの更新
TreeMap クラスを使用すると、既存のアイテムを更新できます。 交換() 方法。置換方法は 2 つあります。最初のメソッドは、既存のキーと、既存のキーをマップする新しい値を受け取ります。
// Replace existing value
customers.replace(101,"Kim Smith");
System.out.println(customers);
上記のコードは、コンソールに次のオブジェクトを出力します。
{101=Kim Smith, 102=Mark Williams, 103=Jim Riley, 104=Phil Blair, 105=Jessica Jones}
ご覧のように キム・ブラウン 今でしょ キム・スミス . 2 番目の replace() メソッドは、既存のキー、キーの現在の値、およびキーにマップする新しい値を取ります。
// Replace existing value
customers.replace(103,"Jim Riley", "Michelle Noah");
System.out.println(customers);
上記のコードは、コンソールに次のオブジェクトを出力します。
{101=Kim Brown, 102=Mark Williams, 103=Michelle Noah, 104=Phil Blair, 105=Jessica Jones}
上のオブジェクトで ミシェル・ノア 置き換えます ジム・ライリー .
Gmailアカウントをプライマリにする方法
TreeMap からのアイテムの削除
ツリー マップから 1 つのアイテムを削除する場合は、 削除する() メソッドが唯一のオプションです。削除するアイテムに関連付けられたキーを受け取り、削除された値を返します。
// Remove an item
customers.remove(104);
System.out.println(customers);
上記のコードを実行すると、次のオブジェクトがコンソールに出力されます。
{101=Kim Smith, 102=Mark Williams, 103=Michelle Noah, 105=Jessica Jones}
これ Java クラス も持っています クリア() ツリー マップ内のすべてのアイテムを削除できるメソッド。
TreeMap と HashMap Java クラス
TreeMap と HashMap は、より一般的な Java マップ クラスの 2 つです。どちらも AbstractMap クラスを拡張します。この関係により、TreeMap クラスと HashMap クラスは多くの同じ機能にアクセスできます。
ただし、これら 2 つのマップ クラスには注目すべき違いがいくつかあります。 TreeMap は Map インターフェースの Red-Black ツリー実装を使用し、HashMap はハッシュ テーブルを使用します。 HashMap では単一の null キーを格納できますが、TreeMap では格納できません。最後に、HashMap は TreeMap より高速です。前者のアルゴリズム速度は O(1) ですが、後者は O(log(n)) です。