要素の置き換えと削除

広告

次に既に格納されている要素の置き換えです。LinkedListクラスで用意されている"set"メソッドを使います。

リストの指定された位置にある要素を、指定された要素で置き換えます。

パラメータ:
  index - 置換される要素のインデックス
  element - 指定された位置に格納される要素 
戻り値:
  指定された位置に以前あった要素 
例外:
  IndexOutOfBoundsException - 指定されたインデックスが範囲外の場合
    (index < 0 || index >= size())

指定したインデックス番号に格納されている要素を新しい要素に置き換えます。

次に要素を削除する方法です。LinkedListクラスで用意されている"remove"メソッドを使います。

リストの指定された位置にある要素を削除します。後続の要素は左に移動します (インデックス値か
ら 1 を減算)。リストから削除された要素が返されます。

パラメータ:
  index - 削除される要素のインデックス 
戻り値:
  指定された位置に以前あった要素 
例外: 
  IndexOutOfBoundsException - 指定されたインデックスが範囲外の場合
   (index < 0 || index > size())

削除したい要素のインデックス番号を指定して要素を削除します。削除された要素の後に格納されていた要素は、自動的にインデックス番号は1ずつ減ります。(ArrayListと異なり要素の再配置は行われないため、比較的高速に行われます)。

また全ての要素を削除したい場合には"clear"メソッドを使います。

リストからすべての要素を削除します。

使い方としては下記のような感じとなります。

LinkedList<String> array = new LinkedList<String>();

array.add("日本");
array.add("ブラジル");
array.add("イングランド");

array.set(1, "イタリア");

array.remove(0);

サンプルプログラム

では実際に試してみます。

collectionTest7

import java.util.LinkedList;

class collectionTest7{
  public static void main(String args[]){
    LinkedList<String> array = new LinkedList<String>();

    array.add("日本");
    array.add("ブラジル");
    array.add("イングランド");

    for (int i = 0 ; i < array.size() ; i++){
      String country = array.get(i);
      System.out.println(country);
    }

    System.out.println("¥r¥n2番目の国をイタリアへ置き換えます¥r¥n");

    array.set(1, "イタリア");

    for (int i = 0 ; i < array.size() ; i++){
      String country = array.get(i);
      System.out.println(country);
    }

    System.out.println("¥r¥n先頭の国を削除します¥r¥n");

    array.remove(0);

    for (int i = 0 ; i < array.size() ; i++){
      String country = array.get(i);
      System.out.println(country);
    }
  }
}

上記をコンパイルして実際に実行してみると下記のようになります。

p2

( Written by Tatsuo Ikura )