我有一個原始數組,例如int,int [] foo。它可能是小尺寸的,或者不是。將Java Array轉換爲Iterable
int foo[] = {1,2,3,4,5,6,7,8,9,0};
從它創建Iterable<Integer>
的最佳方法是什麼?
Iterable<Integer> fooBar = convert(foo);
注:
請不要回答使用循環
還要注意的是
int a[] = {1,2,3};
List<Integer> l = Arrays.asList(a);
(除非你能給編譯器如何做一些聰明的關於他們的一個很好的解釋?)
不會編譯
Type mismatch: cannot convert from List<int[]> to List<Integer>
同時在回答前檢查 Why is an array not assignable to Iterable? 。
此外,如果您使用某些庫(例如番石榴),請解釋爲什麼這是最好的。 (因爲它來自谷歌不是一個完整的答案:P)
最後,因爲似乎有關於此功課,避免張貼家庭作業代碼。
的可能重複[數組迭代器](http://stackoverflow.com/questions/3912765/iterator-for-array) – NPE 2012-04-26 14:38:57
將它們添加到LinkedList,然後只返回該Set的迭代器。 – 2012-04-26 14:39:47