Fle*_*ith 2 java scala data-structures
我希望有一个像对象的地图,它具有数字键,并返回大于或等于指定值的最小键的值.例如:
val m = NumericMap(1.0 -> "a", 1.5 -> "b", 1.8 -> "c")
m(0.5) // -> "a"
m(1.1) // -> "b"
m(1.6) // -> "c"
Run Code Online (Sandbox Code Playgroud)
像这样的东西可以直接使用二叉树实现,但我想知道这个数据结构是否有任何标准或库实现.
我建议使用一个TreeMap<Double, String>.
NavigableMap<Double,String> map = new TreeMap<>();
map.put(0.5, "a");
map.put(1.1, "b");
map.put(1.8, "c");
System.out.println(map.ceilingEntry(1.6).getValue()); // shows "c"
Run Code Online (Sandbox Code Playgroud)
该ceilingEntry方法返回其键是最小键的映射条目等于或大于指定的键.同样值得注意的是floorEntry,lowerEntry以及higherEntry执行类似操作的方法.