タグ

ArrayListとjavaに関するfjwr38のブックマーク (2)

  • Listインターフェイスの3つのクラスを理解する

    JavaのコアAPIに含まれるjava.util.Listインターフェイスは、順序付けられた可変長のデータの集まり「リスト構造」を表現するためのインターフェイスです。コアAPIには、Listの実装クラスがいくつか用意されていますが、そのうち抽象クラスでないものは、Vector、ArrayList、LinkedListの3つになります。ただ、これらのクラスを使う際には、それぞれの実装の違いを意識せずに、なんとなくいずれかを選んで使っていることが多いのではないでしょうか? TIPSでは、これら3つの実装クラスについて、それぞれの実装の違いを比較します。Listインターフェイスが提供する主な操作は、要素の挿入(add)、削除(remove)、参照(get)の3つです(注)。ここでは、その3つの操作と、マルチスレッド環境下での同期化の観点から、それぞれの性能を比較し、使い分けのポイントをまとめま

    Listインターフェイスの3つのクラスを理解する
    fjwr38
    fjwr38 2012/09/12
    ArrayListとLinkedListの違い
  • ArrayListとLinkedListの違い その3 - syttruの日記

    こないだ書いたのが消えてしまったのでもう一度書き直します。 コンカレントなんとかエクセプション Iteratorで回すループの中でListの要素を削除した追加したりすると、コンカレントなんとかエクセプションが飛んでくるので、「Iteratorでループするときは削除しちゃらめぇ」と思いこんでました。 なので、条件を指定してリストから要素を削除するような場合、以下のようなコードを書いてたのです。 // 3で割り切れる数を排除する public void rejectMultipleOf3(List<Integer> list) { // 3で割り切れる要素のインデックスを入れるリスト List<Integer> multipleOf3IndexList = new ArrayList<Integer>(); // 3で割り切れる要素のインデックスを集める for(int i=0; i<list

    ArrayListとLinkedListの違い その3 - syttruの日記
  • 1