ナビゲーション可能なMap
完全にメモ
範囲 | 値 | 名称 |
0.0〜0.1 | 0.1 | A |
0.1〜0.4 | 0.3 | C |
0.4〜1.0 | 0.6 | B |
上記のようなデータセットが有った場合、0.29の名称は何になるのか?という事を考える。(範囲は0〜1まで。)
NavigableMapを実装した、TreeMapを使用すると簡単に実現できる。
import java.util.NavigableMap; import java.util.TreeMap; public class NavigableMapSample { public NavigableMapSample() { NavigableMap<Double, String> map = new TreeMap<Double, String>(); map.put(0.1, "A"); map.put(0.4, "C"); map.put(1.0, "B"); //指定されたキーと等しいか大きいキーを返します System.out.println("0.29: " + map.get(map.ceilingKey(0.29))); } public static void main(String[] args) { new NavigableMapSample(); } }
結果
0.29: C