【Java】3分で理解!setを使ってリスト(List)の要素を上書きする!

リスト(List)の要素を上書きする場合にはListクラスのsetメソッドを使用します。

Listクラスのsetメソッドは、リスト(List)の要素を上書きします。
そのため、リストとして追加した要素を一度、更新して取得したいと思った場合は必見です。

今回はListクラスのsetメソッドを使って
リストの要素を指定して上書きする場合
リストの要素数以上のインデックスを指定する場合
リストの要素を全て上書きする場合
について解説します。

setメソッドとは

Listクラスのsetメソッドは、Listから配列に変換するメソッドとなります。

setメソッドの書き方

setメソッドの構文は下記となります。

パラメータ

インデックス:
どこのデータを書き換えたいのかを指定する。(0からスタート)
上書きする値:
この値に変えたいという上書きしたい値を指定する。

setの()に第1パラメータとしてインデックスを第2ラメータとして上書きする値を指定することでインデックスの要素を上書きします。

リスト(List)の要素を上書きするサンプルコード

リスト(List)の要素を上書きするサンプルコードを紹介します。

リストの要素を指定して上書きする場合

出力結果

上書き前:[あいうえお, かきくけこ, さしすせそ, たちつてと]
上書き後:[あいうえお, なにぬねの, さしすせそ, たちつてと]
削除された要素:かきくけこ

リストの要素数がパラメータの配列のサイズ以下の場合、パラメータの配列に要素を格納したものを返しています。
上書きされなかった要素の先頭の要素には、nullが代入されています。

リストの要素数以上のインデックスを指定する場合

パラメータにサイズ0の配列を使うにはtoArray()メソッドの引数に「new String[0]」を指定します。

例1

出力結果

Exception in thread “main” java.lang.IndexOutOfBoundsException

5番目の値を上書きしようとしていますがその場所にデータはない為、エラーが発生しています。

リストの要素を全て上書きする場合

for文を使用することでリストの要素を全て上書きすることができます。

例1

出力結果

上書き前:[あいうえお, かきくけこ, さしすせそ]
削除された要素:あいうえお
削除された要素:かきくけこ
削除された要素:さしすせそ
上書き後:[らりるれろ, らりるれろ, らりるれろ]

for文を使用することで「らりるれろ」と上書きする処理を繰り返して行っています。

今回のポイント

setでリストの要素を上書き

リストの要素を上書きするにはListクラスのsetメソッドを使用する

Listクラスのsetメソッドでリストの要素の上書きを行う

• setメソッドの第1パラメータは何番日(0始まりでカウント)の要素を上書きするかを指定し、第2パラメータは上書き後の要素を指定する

• setメソッドの第1パラメータがリストの要素数以上を指定する場合、「IndexOutOfBounds Exception」例外が発生する

for文を使用することでリストの要素を全て上書きする

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し