Jak mogę uzyskać java.lang.Iterable
z kolekcji takiej jak Set
lub List
? Dzięki!Kolekcja do Iterable
Odpowiedz
Kolekcja jest iterowalny ... Więc można napisać:
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);
}
}
Wiem, że OP o to pytał, ale przypisanie do "Iterable" jest całkowicie niepotrzebne. – nwinkler
@nwinkler zgodził się z Twoim komentarzem. – assylias
Dzięki, to był ogólny problem – myborobudur
To nie jest dla mnie jasne, co trzeba, więc:
to dostaje iterator
SortedSet<String> sortedSet = new TreeSet<String>();
Iterator<String> iterator = sortedSet.iterator();
Zestawy i listy to Iterables, dlatego można wykonać następujące czynności:
SortedSet<String> sortedSet = new TreeSet<String>();
Iterable<String> iterable = (Iterable<String>)sortedSet;
OP prosi o "Iterable" nie jako "Iterator" – amit
Dzięki, to był ogólny problem – myborobudur
Może ci pomóc javadoc.
Iterable
jest bardzo interfejs Collection
tak dowolnej klasy (takie jak Set
lub List
), który realizuje Collection
realizuje również Iterable
.
Dzięki, to był ogólny problem – myborobudur
java.util.Collection
Przedłuża java.lang.Iterable
, nie musisz nic robić, to już jest 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
Zarówno Set i List interfejsy rozszerzenia interfejsu Collection, która z kolei rozciąga się interfejs Iterable.
Dzięki, to był ogólny problem – myborobudur
- 1. kolekcja laravel do tablicy
- 2. Tylko do odczytu obserwowalna kolekcja
- 3. Jak mogę przekonwertować wersję Iterable Java na Scala Iterable?
- 4. Dlaczego NodeList nie rozszerza kolekcji lub Iterable?
- 5. Redukujące Iterable [Albo [A, B]] na [A, Iterable [B]]
- 6. Python: Int iterable error
- 7. Scala Iterable Memory Leaks
- 8. „numpy.float64” nie jest iterable
- 9. Iterable Suma w Javie?
- 10. Łączenie opcji Scala [Iterable [_]]
- 11. Zsynchronizowana kolekcja
- 12. Jak znaleźć rozmiar obiektu Iterable?
- 13. Konwertuj ES6 Iterable to Array
- 14. numpy.loadtxt daje "nie iterable" Błąd
- 15. Która kolekcja do przechowywania unikatowych ciągów?
- 16. Symfony2 wartości przejście do rodzaju formy kolekcja
- 17. Powiązanie ListBox do listy (kolekcja) w XAML
- 18. Wiążąca obserwowalna kolekcja do ListBox w XAML
- 19. Jednoczesna kolekcja do 50/50 odczyt/zapis
- 20. Obiekt TypeError nie jest iterable
- 21. ManyRelatedManager obiekt nie jest iterable
- 22. Scala Mapa z krotki iterable
- 23. Jak mogę wdrożyć interfejs Iterable?
- 24. Inicjowanie zestawu za pomocą Iterable
- 25. Kolekcja kryteriów NHibernate zawiera
- 26. Wylot kontra kolekcja gniazd
- 27. Kolekcja kolekcji Backbone.js
- 28. iOS 6 Kolekcja Wyświetl
- 29. Kolekcja szkieletu polimorficznych modeli
- 30. Kolekcja Solr a rdzenie
Masz na myśli 'Iterator' zamiast' Iterable'? 'List' implementuje interfejs' Iterable'. 'Iterator' pozwala na iterację poprzez elementy' List'. – nwinkler
Mój interfejs jest rzeczywiście posortowany w zestawie – myborobudur