如何将Collection转换为Iterables?

时间:2014-01-20 15:14:23

标签: java guava

我有方法,返回java.util.Collection

我想使用Iterables.find

我该怎么做?

2 个答案:

答案 0 :(得分:1)

  

我有Collections2<Integer>

我敢打赌你没有。你不能实例化Collections2(除了反射),即使你做了,它也没有参数化。

  

因此我想将其转换为Iterables<Integer>

假设您的意思是Iterable<Integer>,此行应该执行:

Iterable<Integer> = yourIntegerList;

如果您想将IterablesList一起使用,请执行以下操作:

Iterables.contains(yourIntegerList, 2)

但是List的简单方法是:只做yourIntegerList.contains(2)

更新更新的问题

没有任何变化,每个Collection也是Iterable

就这么做。如果您收到错误,请将其显示给我们。否则,我们唯一知道的是,您目前很困惑w.r.t.层次结构。

答案 1 :(得分:0)

  

我有方法,返回Collection

查看Collection的JavaDoc,您将看到它具有Iterable的SuperInterface。由于这是Iterables.find()的第一个参数所需要的,因此您拥有所需的一切。创建一个Function来查找,您已经拥有了所需的一切。