[解決済み] java.util.Listを別のjava.util.Listにコピーする方法
質問
私は
List<SomeBean>
は、Webサービスから入力されます。そのリストの内容を、同じタイプの空のリストにコピー/クローンしたいのです。リストをコピーするためにGoogleで検索したところ、次のような方法があることがわかりました。
Collections.copy()
メソッドを使用します。私が見たすべての例では、コピー先のリストには正確な数のアイテムが含まれているはずでした。
私が使用しているリストは、Webサービスを通じて入力され、それは数百のオブジェクトを含んでいるので、私は上記のテクニックを使用することはできません。それとも、私の使い方が間違っているのでしょうか?とにかく、うまくいくようにするために、次のようなことをやってみたのですが、やはり
IndexOutOfBoundsException
.
List<SomeBean> wsList = app.allInOne(template);
List<SomeBean> wsListCopy=new ArrayList<SomeBean>(wsList.size());
Collections.copy(wsListCopy,wsList);
System.out.println(wsListCopy.size());
を使おうとしたのですが
wsListCopy=wsList.subList(0, wsList.size())
を取得しましたが
ConcurrentAccessException
をコード後半に追加しました。ヒットアンドトライアルです :)
とにかく、私の質問は単純です。 リストの内容をすべて別のリストにコピーするにはどうすればよいですか? もちろん、反復ではありません。
どのように解決するのですか?
これを使うだけです。
List<SomeBean> newList = new ArrayList<SomeBean>(otherList);
注:まだスレッドセーフではありません。
otherList
を別のスレッドで使用する場合は、そのスレッドを
otherList
(さらに
newList
) a
CopyOnWriteArrayList
のようなロックプリミティブを使用します。
リエントラントリードライトロック
を使用して、同時にアクセスされるすべてのリストに対する読み取り/書き込みアクセスを直列化します。
関連
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] HashMapを直接(リテラルに)初期化する方法は?
-
[解決済み] Javaでオブジェクトをコピーするにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラー java.util.NoSuchElementException
-
スレッド "main "での例外をEclipseで解決 java.lang.Error: 未解決のコンパイル問題、コンパイラとパッケージの不整合
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
が 'X-Frame-Options' を 'deny' に設定しているため、フレーム内にある。
-
SocketTimeoutExceptionの解決方法です。読み込みがタイムアウトした
-
[解決済み] ArrayListをクローンし、その内容もクローンする方法は?
-
[解決済み] Java Collectionsのリストをコピーする方法