获取可迭代

时间:2016-06-30 16:02:36

标签: java-7 guava

我有Iterable<T>。此可迭代包含m个元素。我想创建一个包含Iterable<T>元素的n,其中n = min(m, N)包含用户输入的N元素。这些元素应该是给定iterable的第一个n元素。

理想情况下,返回的Iterable将由原始Iterable支持,而不是元素的副本。

是否有神奇的功能可以做到这一点,也许是在番石榴?

1 个答案:

答案 0 :(得分:5)

如果我理解正确,您可以使用Iterables#limit(Iterable, int)

  

使用给定iterable的第一个\n元素创建一个iterable。如果原始iterable不包含那么多元素,则返回的iterable将具有与原始iterable相同的行为。如果原始迭代器有,则返回的可迭代迭代器支持limitSize

示例:

remove()