イテレータインスタンスからリストを作成する標準的な方法があれば誰でも知っていますか?リストを作成<T>イテレータからのインスタンス<T>
6
A
答えて
14
私は、一般的に依存関係としてグアバを持って、それが既に存在しているので、私はGuava's Lists.newArrayList(Iterator)
に向かう傾向。
3
Iterator
を使用してすべての要素を取得し、List
に追加します。
List<String> list = new LinkedList<String>();
while(iter.hasNext()) { // iter is of type Iterator<String>
list.add(iter.next());
}
0
は、次のようなものを試してください:注意する
public T List<T> listFromIterator(Iterator<T> iterator) {
List<T> result = new LinkedList<T>();
while(iterator.hasNext()) {
result.add(iterator.next());
}
}
一つはイテレータがあなたの構造の先頭ではない場合、あなたは前の要素を取得する方法がないということです。
イテレータの元になっているコレクションがある場合は、コレクションを取得するコンストラクタを使用してリストを作成できます。例:LinkedList
コンストラクタ:
LinkedList(Collection<? extends E> c)
0
これは私がイテレータやその逆のためにリストから変換する方法です。
ArrayList arrayList = new ArrayList();
// add elements to the array list
arrayList.add("C");
arrayList.add("A");
arrayList.add("E");
arrayList.add("B");
arrayList.add("D");
arrayList.add("F");
// use iterator to display contents of arrayList
System.out.print("Original contents of arrayList: ");
Iterator iterator = arrayList.iterator();
ArrayList arrayList2 = new ArrayList();
while(iterator.hasNext()) {
Object element = iterator.next();
arrayList2.add(element);
System.out.print(element + " ");
}
5
私は、これは私がやったことで、この必要性を持っていた、とApache Commonsののユーザーとして:
IteratorUtils.toList(iterator);
関連する問題
- 1. Kerberos TGTの動作
- 2. LSAキャッシュからTGTチケットを取得できません
- 3. リストのセグメンテーションフォールト<Object*>イテレータ
- 4. <<ベクトルペアのイテレータ
- 5. MIT KerberosがMSLSAキャッシュでTGTの検索に失敗する
- 6. Windows上のKerberos TGTセッションキーがすべて0になる原因
- 7. struts2イテレータの使い方リスト<String>
- 8. Oracle - "Sql開発者"データベースコピーユーティリティ - Src/tgt異なるスキーマ
- 9. GSSManager.createCredentialはKerberosキーとTGTをどのように取得しますか?
- 10. なぜBufferedReader :: lines()は、Spliterator <T>ではなく、<T>のイテレータ<T>を作成しますか?
- 11. ケルベロスチケットのパスTGTとサービスチケットは、Windows XPとunixにありますか?
- 12. STLリスト<Object>リスト内のオブジェクトを変更するイテレータ
- 13. リストを作成する<T>テキストファイルから
- 14. クッキーからリスト<>を作成して読む
- 15. スパーク:リストからオブジェクトRDDを作成<Object> RDD
- 16. イテレータ<?>は、java
- 17. JSONからリスト<class>&リスト<class>からJSON?
- 18. SSH /その他のアプリケーション用にJavaで取得したTGTの使用
- 19. リストの作成方法<Float>?
- 20. リストのインスタンス化<class>テキストクラス名から
- 21. リスト<int>からIEnumerable <IComparable>
- 22. 新しいリストを作成<T> 2のうちリスト<VM>
- 23. のstd ::ベクトル< T > ::イテレータ
- 24. オートマップマップのプロパティ値リスト<type>からリスト<int>
- 25. Linq - 式<T1>を式<T2>から作成する
- 26. リストを取得<T>リストから
- 27. のstd ::リスト<std::string> ::イテレータはstd ::文字列にする
- 28. イテレータから `input_fn`を作成する
- 29. 作成Observable <T>から結果
- 30. SortedList <int, T>からリスト<T>を作成するにはどうすればよいですか?
あなたはイテレータからリストを作成することはできません、あなたがリストを作成することができますそれを要素とするイテレータがあります。 – Sajmon
'Iterator'から' List'を作成することは実際には意味がありません。これは単なるインデックスから配列を作成するようなものです! – adarshr
イテレータに既に 'next()'関数が呼び出されている場合、以前の要素を取得することはできません。 –