收集到Iterable

myb*_*dur 34 java collections iterable

我如何java.lang.Iterable从一个Set或一个集合中获得一个List?谢谢!

ass*_*ias 63

Collection 是一个Iterable ......所以你可以这样写:

public static void main(String args[]) {
    List<String> list = new ArrayList<String>();
    list.add("a string");

    Iterable<String> iterable = list;
    for (String s : iterable) {
        System.out.println(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我知道OP询问过这个问题,但是完全没有必要分配给“ Iterable”。 (2认同)

Tom*_*Tom 8

我不清楚你需要什么,所以:

这会让你成为一名迭代者

SortedSet<String> sortedSet = new TreeSet<String>();
Iterator<String> iterator = sortedSet.iterator();
Run Code Online (Sandbox Code Playgroud)

集合和列表是Iterables,这就是为什么你可以执行以下操作:

SortedSet<String> sortedSet = new TreeSet<String>();
Iterable<String> iterable = (Iterable<String>)sortedSet;
Run Code Online (Sandbox Code Playgroud)


hig*_*ted 5

Iterable是一个超级接口Collection,所以任何实现的类(如Set或List)Collection也实现Iterable.