Как я могу получить java.lang.Iterable
из коллекции, например, Set
или List
?
Спасибо!
Коллекция для Iterable
Ответ 1
Коллекция - Итерабельная... Итак, вы можете написать:
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);
}
}
Ответ 2
Мне непонятно, что вам нужно, так:
это дает вам Iterator
SortedSet<String> sortedSet = new TreeSet<String>();
Iterator<String> iterator = sortedSet.iterator();
Наборы и списки являются Iterables, поэтому вы можете сделать следующее:
SortedSet<String> sortedSet = new TreeSet<String>();
Iterable<String> iterable = (Iterable<String>)sortedSet;
Ответ 3
Iterable
- супер интерфейс к Collection
, поэтому любой класс (например, Set
или List
), который реализует Collection
, также реализует Iterable
.
Ответ 4
Возможно, javadoc поможет вам.
Ответ 5
java.util.Collection
extends java.lang.Iterable
, вам ничего не нужно делать, это уже Iterable.
groovy:000> mylist = [1,2,3]
===> [1, 2, 3]
groovy:000> mylist.class
===> class java.util.ArrayList
groovy:000> mylist instanceof Iterable
===> true
groovy:000> def doStuffWithIterable(Iterable i) {
groovy:001> def iterator = i.iterator()
groovy:002> while (iterator.hasNext()) {
groovy:003> println iterator.next()
groovy:004> }
groovy:005> }
===> true
groovy:000> doStuffWithIterable(mylist)
1
2
3
===> null
Ответ 6
Оба Set и List интерфейсы расширьте интерфейс Collection, который сам расширяет Iterable.