Possible Duplicate:
Combine multiple Collections into a single logical Collection?
我有很多小馆藏,我想作为一个整体访问。
我可以,例如创建一个新的 LinkedList
并将所有元素添加到其中。但我在想,可能有一些工具可以添加完整的 Collections
而不必重新链接每个项目。我不是在谈论 addAll
。 Collections
应保持独立,但仅从外部看来是一个。
有什么想法吗?
Google Guava 项目有一个名为 Iterators
的类它提供了用于获取迭代器并对其应用转换的实用程序。他们提供的功能之一称为 Iterators.concat
,它接受多个迭代器并生成一个新的迭代器,该迭代器迭代这些单个迭代器的串联。这可能不是您要找的东西,但它会为您提供迭代多个元素的功能,而无需复制所有元素。
按照您的建议使用集合时,您可能需要考虑的一个问题是如果您尝试改变集合会发生什么。例如,如果你添加一个元素,它会去哪里?如果您只需要迭代而无需考虑这一点,则 Iterators.concat
方法可能就是您要找的。p>