基于google guava树表索引的java子集
我有一个TreeBasedTable<String,String,CustomType>
结构,从中我需要能够获得基于start
和end
范围索引的子集,比如fromindex
到toindex
。cellSet
方法不返回SortedSet
。最好的方法是什么
我想做Lists.newArrayList(structure.cellSet()).subList(start,end)
,但看起来不是一件有效的事情
你可以在下面搜索框中键入要查询的问题!
我有一个TreeBasedTable<String,String,CustomType>
结构,从中我需要能够获得基于start
和end
范围索引的子集,比如fromindex
到toindex
。cellSet
方法不返回SortedSet
。最好的方法是什么
我想做Lists.newArrayList(structure.cellSet()).subList(start,end)
,但看起来不是一件有效的事情
# 1 楼答案
当使用^{} 时,^{} 的实现实际上返回一个^{}
所以你应该使用:
所以
start
和end
将对rowMap
起作用,就像subList(start,end)
对List
起作用一样# 2 楼答案
如果
startindex
和endindex
是整数位置,那么ArrayList
实现实际上离可行的最佳状态并没有太远,尽管它的编写效率会稍微高一些它不会将更多元素复制到任何实现的结果中
一般来说,对于任意的
SortedSet
、SortedMap
,或者Java附带的几乎任何排序数据结构,都没有一种有效的方法来实现这一点