「Java8」NavigableMapクラスのsubMap メソッドで指定範囲の要素を取得する
環境
JavaSE 1.8
Eclipse IDE 2019-12
書式
NavigableMap<K,V> subMap(K fromKey,boolean fromInclusive,K toKey,boolean toInclusive)
このマップのfromKey – toKeyのキー範囲を持つ部分のビューを返します。
構文1
submap( fromKey, false, toKey, false )
fromKey, toKey の値を含まない場合。 from < x < to
構文2
submap( fromKey, true, toKey, true )
fromKey, toKey の値を含む場合。 from <= x <= to
使用例
package com.arkgame.study; import java.util.NavigableMap; import java.util.TreeMap; public class ArkgamelDemo { // マップ内のキーの下端点変数の宣言 private static int FROM_KEY = 1001; // マップ内のキーの上端点の宣言 private static int TO_KEY = 1004; public static void main(String[] args) { NavigableMap<Integer, String> map = new TreeMap<>(); map.put(1001, "東京"); map.put(1002, "大阪"); map.put(1003, "福岡"); map.put(1004, "横浜"); System.out.println("fromKey, toKey の値を含まないの実行結果"); NavigableMap<Integer, String> resMapA = map.subMap(FROM_KEY, false, TO_KEY, false); System.out.println(resMapA); System.out.println("\nfromKey, toKey の値を含む実行結果"); NavigableMap<Integer, String> resMapB = map.subMap(FROM_KEY, true, TO_KEY, true); System.out.println(resMapB); } }
実行結果
fromKey, toKey の値を含まないの実行結果 {1002=大阪, 1003=福岡} fromKey, toKey の値を含む実行結果 {1001=東京, 1002=大阪, 1003=福岡, 1004=横浜}