JavaでMapから指定したキー値以上の最小値を取得する方法について記載します。
目次
指定したキー値以上の最小値を取得する方法
NavigableMap の ceilingEntry・ceilingKey メソッドを使用します。
メソッド | 戻り値 | 処理 |
---|---|---|
ceilingEntry(K key) | Map.Entry<K,V> | 指定したキー以上で最小のキー値を持つ、キーと値のペアを返します。 該当するキーが存在しない場合は、nullを返します。 |
ceilingKey(K key) | K | 指定したキー以上で最小のキー値を返します。 該当するキーが存在しない場合は、nullを返します。 |
1. ceilingEntry(K key)
条件に指定したキーに該当する、キーと値を取得する場合は、このメソッドを使用します。
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
NavigableMap<Integer,String> map = new TreeMap<>(); map.put(1, "one"); map.put(2, "two"); map.put(4, "four"); map.put(5, "five"); // 2以上の最小値を取得 Map.Entry<Integer,String> rsltMap1 = map.ceilingEntry(2); System.out.println(rsltMap1); // 2=two // 3以上の最小値を取得 Map.Entry<Integer,String> rsltMap2 = map.ceilingEntry(3); System.out.println(rsltMap2); // 4=four // 6以上の最小値を取得(該当するキーがないため、null が返ります) Map.Entry<Integer,String> rsltMap3 = map.ceilingEntry(6); System.out.println(rsltMap3); // null |
2. ceilingKey(K key)
条件に指定したキーに該当する、キーを取得する場合は、このメソッドを使用します。
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
NavigableMap<Integer,String> map = new TreeMap<>(); map.put(1, "one"); map.put(2, "two"); map.put(4, "four"); map.put(5, "five"); // 2以上の最小値を取得 Integer rsltKey1 = map.ceilingKey(2); System.out.println(rsltKey1); // 2 // 3以上の最小値を取得 Integer rsltKey2 = map.ceilingKey(3); System.out.println(rsltKey2); // 4 // 6以上の最小値を取得 Integer rsltKey3 = map.ceilingKey(6); System.out.println(rsltKey3); // null |