「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=横浜}

 

Java

Posted by arkgame