JavaでMapから最大のキーの値を取得して削除する方法について記載します。
最大のキーの値を取得・削除する方法
NavigableMap の pollLastEntry メソッドを使用します。
メソッド | 戻り値 | 処理 |
---|---|---|
pollLastEntry() | Map.Entry<K,V> | Mapから最大のキーの、キーと値を取得し、削除します。 Mapが空の場合は、nullを返します。 |
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
NavigableMap<Integer,String> map = new TreeMap<>(); map.put(1, "one"); map.put(2, "two"); map.put(3, "three"); // 最大のキーのキーと値を取得 Map.Entry<Integer, String> rsltMap = map.pollLastEntry(); System.out.println(rsltMap); // 3=three // キーを取得 Integer key = rsltMap.getKey(); System.out.println(key); // 3 // 値を取得 String value = rsltMap.getValue(); System.out.println(value); // three // 取得した要素は、取得元のMapから削除されます System.out.println(map); // {1=one, 2=two} // Mapが空の場合は、null を返します NavigableMap<Integer,String> map2 = new TreeMap<>(); Map.Entry<Integer, String> rsltMap2 = map2.pollLastEntry(); System.out.println(rsltMap2); // null |