JavaのコアAPIに含まれるjava.util.Listインターフェイスは、順序付けられた可変長のデータの集まり「リスト構造」を表現するためのインターフェイスです。コアAPIには、Listの実装クラスがいくつか用意されていますが、そのうち抽象クラスでないものは、Vector、ArrayList、LinkedListの3つになります。ただ、これらのクラスを使う際には、それぞれの実装の違いを意識せずに、なんとなくいずれかを選んで使っていることが多いのではないでしょうか? 本TIPSでは、これら3つの実装クラスについて、それぞれの実装の違いを比較します。Listインターフェイスが提供する主な操作は、要素の挿入(add)、削除(remove)、参照(get)の3つです(注)。ここでは、その3つの操作と、マルチスレッド環境下での同期化の観点から、それぞれの性能を比較し、使い分けのポイントをまとめま
![Listインターフェイスの3つのクラスを理解する](https://cdn-ak-scissors.b.st-hatena.com/image/square/01aa9f8a8588080f19a63541957f9a8e227b2e47/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fait%2Farticles%2F0504%2F13%2Fr20_136-1.gif)