将Iterable转换为Collection的简单方法

在我的应用程序中,我使用第三方库(确切地说,MongoDB的Spring数据)

此库的方法返回Iterable<T&gt,而我的其余代码需要集合<T&gt

有没有什么实用方法可以让我快速地将一种转换成另一种?对于这样一件简单的事情,我希望避免在代码中创建一堆foreach循环

使用番石榴您可以使用列出.newArrayList(Iterable)set.newHashSet(Iterable),以及其他类似的方法。这当然会将所有元素复制到内存中。如果这是不可接受的,我认为使用这些方法的代码应该是Iterable,而不是Collection。番石榴正好提供了方便的方法,可以使用在集合上执行操作e> Iterable(例如Iterables.isEmpty(Iterable)Iterables.contains(Iterable,Object)),但性能影响更为明显

发表评论