TreeMap は、NavigableMap インターフェイスを実装する Java Collection Framework のクラスです。これは、マップの要素をツリー構造に保存し、キーと値のペアを並べ替えられた順序で保存する効率的な方法を提供します。つまり、要素は常に昇順で返されます。ただし、Java には、TreeMap を降順に走査するためのメソッドがいくつか用意されています。この記事では、TreeMap を逆の順序で走査する方法を検討します。
次のメソッドを使用して、TreeMap の要素を逆の順序で出力します。
TreeMap.descendingMap() メソッドを使用する
TreeMap.descendingKeySet() メソッドを使用する
Collections.reverseOrder() メソッドを使用する
サンプルプログラムを使用して 1 つずつ説明しましょう
この例では、組み込みメソッド TreeMap.descendingMap() を使用して、TreeMap を逆の順序で繰り返します。これを行うには、まず TreeMap を定義し、次にその要素を逆の順序で別のマップに保存します。
rreeimport java.util.*; public class Example1 { public static void main(String[] args) { // creating a TreeMap TreeMap<String, Integer> TrMap = new TreeMap<>(); // Adding elements in the map TrMap.put("Backpack", 4000); TrMap.put("Desktop", 3000); TrMap.put("Keypad", 1500); TrMap.put("Watch", 2000); TrMap.put("Pen drive", 2500); // storing the elements of the map in descending order Map<String, Integer> newMap = TrMap.descendingMap(); // printing the details of map System.out.println("Elements of the map in Reverse Order: "); // iterating through the map for (String unKey : newMap.keySet()) { // printing details of map in reverse order System.out.println("Item: " + unKey + ", Price: " + newMap.get(unKey)); } } }
次の例では、組み込みメソッド TreeMap.descendingKeySet() を使用して、TreeMap を逆の順序で繰り返し処理します。この操作では、前の例のように Map を作成する代わりに、Map キーを逆の順序で格納するコレクションを作成します。さらに、これらのキーを使用して、対応する値を取得します。
rreeElements of the map in Reverse Order: Item: Watch, Price: 2000 Item: Pen drive, Price: 2500 Item: Keypad, Price: 1500 Item: Desktop, Price: 3000 Item: Backpack, Price: 4000
これは、TreeMap 要素を逆の順序で取得する別の例です。 Collections.reverseOrder() メソッドを TreeMap のコンストラクターに渡すだけで、TreeMap コレクションの要素が逆の順序で返されます。
rreeimport java.util.*; public class Example2 { public static void main(String[] args) { // creating a TreeMap TreeMap<Integer, String> TrMap = new TreeMap<>(); // Adding elements in the map TrMap.put(40, "Backpack"); TrMap.put(12, "Desktop"); TrMap.put(150, "Keypad"); TrMap.put(125, "Watch"); TrMap.put(250, "Pen drive"); // retrieving the keys in reverse order Set<Integer> keys = TrMap.descendingKeySet(); // printing the details of map System.out.println("Elements of the map in Reverse Order: "); // iterating through the map for (Integer unKey : keys) { // printing details of map in reverse order System.out.println("Item: " + TrMap.get(unKey) + ", Quantity: " + unKey); } } }
以上がJava で逆の順序で TreeMap を反復処理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。