Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでリスト内の要素を置き換える方法|set()メソッドの使い方を解説


はじめに

本記事では、Javaのリスト(List)内に含まれる要素を、別の要素へ置き換える方法について解説します。ListはCollectionインターフェースを継承しており、順序を持つ一連の要素を格納するコレクションの振る舞いを定義しています。

Collectionフレームワークは、複数のオブジェクトを効率的に保存・操作するためのアーキテクチャを提供します。Javaのコレクションを利用することで、検索・ソート・挿入・編集・削除といった、データに対するあらゆる操作を実現できます。

リスト内の特定の位置にある要素を置き換えるには、set()メソッドを使用します。このメソッドは、第1引数に「置き換えたい要素のインデックス」、第2引数に「新しい要素」を渡します。

以下に具体的なデモンストレーションを示します。

入力値:

入力リスト : [Java, Scala, Mysql, Redshift]

期待される出力:

1つの要素を置き換えた後のリスト: [Java, Scala, Python, Redshift]

アルゴリズム

ステップ1 - 開始
ステップ2 - リスト(input_list)を宣言する
ステップ3 - 要素の値を定義する
ステップ4 - set()メソッドを呼び出し、更新対象のインデックスと追加する文字列を引数として渡す
ステップ5 - 処理結果のリストを表示する
ステップ6 - 終了

set()メソッドのポイント

java.util.Listインターフェースで定義されているset(int index, E element)メソッドは、指定したインデックスの要素を新しい要素に置き換え、置き換え前の古い要素を戻り値として返します。また、指定したインデックスがリストの範囲外である場合はIndexOutOfBoundsExceptionがスローされる点に注意してください。

例1:mainメソッド内ですべての処理を記述する場合

ここでは、すべての操作をmainメソッドの中にまとめて記述します。

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      System.out.println("必要なパッケージがインポートされました");
      try {
         ArrayList<String> input_list = new ArrayList<>();
         input_list.add("Java");
         input_list.add("Scala");
         input_list.add("Mysql");
         input_list.add("Redshift");
         System.out.println("定義されたリスト: " + input_list);
         input_list.set(2, "Python");
         System.out.println("\n1つの要素を置き換えた後のリスト: " + input_list);
      }
      catch (Exception e) {
         System.out.println(e);
      }
   }
}

出力

必要なパッケージがインポートされました
定義されたリスト: [Java, Scala, Mysql, Redshift]

1つの要素を置き換えた後のリスト: [Java, Scala, Python, Redshift]

例2:オブジェクト指向スタイルでメソッドに分割する場合

次に、処理を独立したメソッドにカプセル化し、オブジェクト指向プログラミングらしい構成に書き直した例を紹介します。処理を分割することで、コードの再利用性と可読性が向上します。

import java.util.*;
public class Demo {
   static ArrayList<String> input_list = new ArrayList<>();

   // 要素を追加するメソッド
   public static void addElements() {
      input_list.add("Java");
      input_list.add("Scala");
      input_list.add("Mysql");
      input_list.add("Redshift");
   }

   // 指定したインデックスの要素を置き換えるメソッド
   public static String replaceElement(int index, String newValue) {
      return input_list.set(index, newValue);
   }

   public static void main(String[] args) {
      System.out.println("必要なパッケージがインポートされました");
      try {
         addElements();
         System.out.println("定義されたリスト: " + input_list);
         String oldElement = replaceElement(2, "Python");
         System.out.println("置き換えられた要素: " + oldElement);
         System.out.println("\n1つの要素を置き換えた後のリスト: " + input_list);
      }
      catch (Exception e) {
         System.out.println(e);
      }
   }
}

出力

必要なパッケージがインポートされました
定義されたリスト: [Java, Scala, Mysql, Redshift]
置き換えられた要素: Mysql

1つの要素を置き換えた後のリスト: [Java, Scala, Python, Redshift]

まとめ

Javaでリスト内の要素を置き換えるには、set()メソッドを使うのが最もシンプルで効率的な方法です。インデックスを指定して呼び出すだけで、該当位置の要素が新しい要素に入れ替わり、古い要素を受け取ることもできます。また、処理をメソッドに分割することで、保守性や可読性の高いコードになりますので、規模や目的に応じて使い分けるとよいでしょう。

  1. Javaでリストから重複要素を削除する2つの方法|LinkedHashSetとStream APIのdistinct()

    JavaのList(リスト)から重複する要素を削除したい場面は少なくありません。本記事では、代表的な2つの手法――LinkedHashSetを利用する方法と、Stream APIのdistinct()メソッドを利用する方法――を、サンプルコードと実行結果つきでわかりやすく解説します。 方法1: LinkedHashSetを使って重複を削除する LinkedHashSetは、「重複した要素を許さない」かつ「挿入された順序を保持する」という特徴を持つコレクションです。そのため、ListをLinkedHashSetに変換するだけで、元の並び順を保ったまま重複要素を簡単に取り除くことができます。 サン

  2. Pythonでリストの最初のK個の要素をNに置き換える方法

    Pythonでリストの先頭から「K」個の要素を特定の値「N」に置き換えたい場合、最も基本的なのはシンプルなforループによる反復処理です。本記事では、その具体的な実装方法と動作を解説します。 サンプルコード 以下に実際の実装例を示します。 my_list = [13, 34, 26, 58, 14, 32, 16, 89] print(The list is :) print(my_list) K = 2 print(The value of K is :) print(K) N = 99 print(The value of N is :) print(N) for index in