Fri*_*jof 8 java list shared-memory
我正在寻找一种实现的数据结构List
,允许我重用多个列表中出现的部分列表.
为了说明这一点,请考虑以下三个列表:
如您所见,红色序列(42, 88, 76, 60
)和蓝色序列(21, 9, 47
)多次使用,每个序列表示作为其他列表的一部分共享的独立列表.实际上,列表可能会更长.
该列表只需要是只读的,因为它将用作返回值.创建列表集合的过程将是唯一一个(允许)修改列表(使用add(..)
操作等).共享部分列表将使得使用addAll(..)
(内部使用System.arraycopy(..)
)扩展复制列表元素变得多余.
有没有轻量级的List
实现来满足我的需求?或者有一个相对简单的方法来自己实现一个?
对于Iterable
、Set
、 和Multiset
,Guava分别为您提供了Iterables.concat()
、Sets.union()
、 和Multisets.sum()
。Lists
不幸的是,缺乏等效的方法。