标签列表
获取地图子图的最快方法是什么?
java
6
6
我有一张地图,想知道是否有一种方法可以根据某些条件获取一些子地图。 有什么有用的库吗?
-
user705414
2
2
你能举一个条件的例子吗?
- Liviu T.
1
子地图是否需要由原始地图支持(即,您希望更新在两者中都可见)?
- Thilo
2
个回答
5
5
在
Guava
中,
Maps
类包含三种不同的过滤方法,具体取决于您想要按键、值还是两者都过滤。
-
Jon Skeet
2
请注意,Guava Maps的过滤方法并未针对性能进行优化,因为它们维护了一个实时视图并通过谓词进行过滤,导致像size()和contains这样的方法具有O(n)的性能。Javadoc针对这种情况发出了一些警告,并建议将视图实现化。
- tkruse
如果条件类似于
keyCollection.contains(key)
,那么最好的做法是遍历 keyCollection 并为每个键调用
map.get()
,这样效率会更高。
- tkruse
回答链接
3
3
也许一个
可导航地图
可以满足您的需求,这取决于条件是什么。它非常快,
O(log n)
,而大多数过滤器则为
O(n)
。它可以获取小于、大于或在两个键之间的子映射。
-
Peter Lawrey
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
7
获取java.util.date的小时最快的方法是什么?
28
最快克隆GregorianCalendar的方法是什么?
41
写入文件的最快方法是什么?
39
在Java中获取签名的最快方法是什么?
15
Java 中最快的子字符串搜索方法是什么?
9
在Java中,获取系统时间的最快方法是什么?
19
从URL中获取域名/主机名的最快方法是什么?
3
最快的指纹匹配方法是什么?
14
获取一个数字的位数的最快方法是什么?
8
使用HttpClient获取URL状态码的最快方法是什么?