Ama*_*icA 3 java collections guava apache-commons-collection
我正在寻找一个具有复合列表实现的开源库.我需要一个列表,从其他列表中读取其值,并可以构造如下:
List list1 = new ArrayList();
list1.add("0");
List list2 = new LinkedList();
list2.add("1");
list3.add("2");
List list3 = new CompositeList(list1, list2...)
Run Code Online (Sandbox Code Playgroud)然后:assertEquals("0", list3.get(0));
assertEquals("1", list3.get(1));
assertEquals("2", list3.get(2));
Run Code Online (Sandbox Code Playgroud)
我的想法是,我不需要复制源列表中的所有内容.
一个快速的谷歌没有找到任何东西,我没有在番石榴或公共收藏中看到它(我可能忽略了它).我现在没有足够的时间正确实施它.
Eti*_*veu 11
我今天早上在Guava里寻找类似的东西,最后偶然发现了Iterables.concat().
您专门询问了List视图,因此这可能无法完全解决您的问题,但这是一个要记住的选项.
我还以为我最初需要一个Collection/List,但我后来意识到解决我的问题不是强制性的:我主要是在寻找能够连接多个迭代(通过各种Guava过滤/转换获得)的东西,然后过滤/转换结果,最终将其转储到ImmutableList中.如果您只需要迭代结果,则返回Iterable视图也是一个选项.
PS(几年后):这些转换/连接现在也可以使用Guava FluentIterable或Java 8流完成.
来自Commons Collections的CompositeCollection似乎可以满足您的需求,即使它没有被广泛化.
| 归档时间: |
|
| 查看次数: |
2913 次 |
| 最近记录: |