適切なプラクティスとしては、ごく一部の例外を除き、配列を見たら可能な限り迅速にコレクションに変換することです。変更できないことに注意してください。作成することもできます。内容を別のコレクションに移動したい、または大きなオブジェクト・コレクションから小さなオブジェクト・コレクションを削除したい、といった要求は特別なものではありません。した場合、単純にコレクションに対して繰り返し処理を実行し、要素が見つかるごとにその要素を追加または削除したくなるかもしれません。そんなことをしてはなりません。この場合、繰り返し処理には以下のように大きな欠点があります。追加や削除を行うごとにコレクションをリサイズするのは非効率です。ロックの取得、操作の実行、そしてロックの解放を毎回行っていると、並行処理の悪夢が起こる可能性があります。追加や削除が行われている間、他のスレッドがそのコレクションを操作しようとして競合状態が発生します。使って渡すことで回避することができます。コレクションを処理する上での最後の障害が取り除かれたのです。使って調べる必要がありました。ループ変数を使うことで、上記のすべてが暗黙のうちに処理されます。対してのみ有効なわけではありません。つの方法を示しています。外の呼び出し側が皆さんの家族に子供を追加できてしまいます。ウォークスルーすることもできます。使用すると、ドメインのモデリングの際、いくつか明確な問題が生じます。使うことでドメイン型に対するプログラミングが非常に容易になり、またわかりやすくなります。逆にウォークスルーしたいと思ったことがありませんか。コレクション・アルゴリズムが便利なのです。渡された順に並んでいます。今度は、逆の順序で並べたいとします。なるとコーディングが面倒になってきます。クラスには、こうした「アルゴリズム」がいくつかあります。引数に取るように実装され、実装とは独立してコレクション全体を動作させることができます。クラス上に存在するアルゴリズムのみで終わりではありません。内容を直接変更しないメソッドも可能です。便利なことに、カスタムのアルゴリズムを独自に作成できるのです。ついての最後のポイントを示しています。昔から、開発者の特定の目的に合わせて拡張、加工できるように作られていたのです。リストを必ず年齢でソートする必要があったとしましょう。クラスがあれば、その方がはるかに望ましいはずです。使う主な理由は順序を気にするからです)。ソートされた順序でオブジェクトを保持したい場合もあるかもしれません。クラスのどれを使っても、そうした要件を満たすことはできませんが、そうしたクラスの作成は非常に簡単です。行うべき抽象動作を記述するインターフェースを作成することだけです。場合、目的はその動作そのものです。comp);}この新しいインターフェースの実装の作成は拍子抜けするほど簡単です。}}この、にわか仕立ての実装は、最適化をまったく考慮せずに作成してあります。そのため、当然ながら何らかのリファクタリングが必要です。コレクション関連のすべてに対する最終仕様を意図したものではない、ということです。拡張が必要であり、また拡張を推奨しているのです。導入された拡張など、いくつかの拡張は極めて大変な作業を伴うものです。クラスを単純に継承したりすればよいだけです。拡張は非常に面倒と思えるかもしれませんが、実際に作業を始めてみると、決して思ったほど困難ではないことに気づくはずです。活用されていない機能がたくさんあります。従って、このテーマを今回の記事だけで終わらせることはできません。つの事項について説明します。クラウド・プラットフォームでアプリケーションを開発し、デプロイしてください。新たな活用方法が生まれることを学んでください。コレクション・フレームワークに対する変更を紹介しています。コメントコメントを登録するにはサインインあるいは登録してください。