作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的问题很基础,但我自己找不到解决方案。
我习惯用 C++ 编写算法。在那里我经常使用 std::map
结构,以及它提供的所有辅助方法。
此方法将迭代器返回到映射的第一个元素,其键 >= 到作为参数给定的键。示例:
map<int, string> m;
// m = { 4 => "foo", 6 => "bar", 10 => "abracadabra" }
m.lower_bound(2); // returns iterator pointing to <4, "foo">
m.lower_bound(4); // returns iterator pointing to <4, "foo">
m.lower_bound(5); // returns iterator pointing to <6, "bar">
很酷的是 C++ 映射基于红黑树,因此查询是对数的 (O(log n)
)。
现在我需要用Java实现某种算法。我需要与我刚才描述的类似的功能。我知道我可以使用在有序树中实现的 TreeMap
。但是,我似乎没有找到与 lower_bound
方法等效的方法。有这样的吗?
非常感谢您的帮助。
最佳答案
我猜您正在寻找 TreeMap .查看 ceilingKey/Entry 方法。
关于java - 等同于 Java 中的 C++ map.lower_bound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9598710/
判断这2个相似的Uris实际上相同的标准方法是什么? var a = new Uri("http://sample.com/sample/"); var b = new Uri("http://sam
这个问题在这里已经有了答案: Why does "true" == true show false in JavaScript? (5 个答案) 关闭 5 年前。 可能我很困惑,但我无法理解这个愚蠢
我是一名优秀的程序员,十分优秀!