List、ArrayList要素の値を変更する方法を紹介します。
1. set() でリストの特定の Index 要素の値を変更する
ArrayList.set(index, value)
はリストの特定のインデックス要素を value に変更します。
以下のようにIndex 2の要素を CCC
に変更できます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Example {
public static void main(String[] args) {
List<String> myList = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
myList.set(2, "CCC");
System.out.println(myList);
}
}
Output:
[A, B, CCC, D]
2. replaceAll() でリストのすべての要素の値を変更する
ArrayList.replaceAll()
は引数として関数を受け取り、関数はリストの要素を引数として受け取り、変更する値を返します。
つまり、リストのすべての要素を巡回しながら値を変更できます。
以下の例は、リストの要素がnullの場合に空の文字列に変更してnullが存在しないようにする例です。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Example1 {
public static void main(String[] args) {
List<String> myList = new ArrayList<>(Arrays.asList("A", null, "B", null, "C", null, "D"));
System.out.println(myList);
myList.replaceAll(s -> s != null ? s : "");
System.out.println(myList);
}
}
Output:
[A, null, B, null, C, null, D]
[A, , B, , C, , D]
3. Collectionsでリスト内のすべての要素の値を変更する
Collections.replaceAll(list, oldValue, newValue)
はリストの oldValue を newValue に変更します。
Collections を使用して上記の内容を実装できます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Example3 {
public static void main(String[] args) {
List<String> myList = new ArrayList<>(Arrays.asList("A", null, "B", null, "C", null, "D"));
System.out.println(myList);
Collections.replaceAll(myList, null, "");
System.out.println(myList);
}
}
Output:
[A, null, B, null, C, null, D]
[A, , B, , C, , D]
4. Streamでリストのすべての要素の値を変更する
Streamを使用して上記の内容を実装できます。
リストをStreamにし、 Stream.map()
でnullを空の文字列に変更できます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Example4 {
public static void main(String[] args) {
List<String> myList = new ArrayList<>(Arrays.asList("A", null, "B", null, "C", null, "D"));
System.out.println(myList);
List<String> newList = myList.stream()
.map(s -> s != null ? s : "")
.collect(Collectors.toList());
System.out.println(newList);
}
}
Output:
[A, null, B, null, C, null, D]
[A, , B, , C, , D]
5. replaceAll() でリストのすべての要素に特定の値を追加する
リストのすべての要素に特定の文字列を追加したい場合は、以下のように replaceAll()
で実装できます。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Example2 {
public static void main(String[] args) {
List<String> myList = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
myList.replaceAll(s -> s + "++");
System.out.println(myList);
}
}
Output:
[A++, B++, C++, D++]
Related Posts
- Java - AtomicReference使用方法
- Java - CountDownLatchを使用する方法、および例
- Java - ScheduledThreadPoolExecutor使用方法
- Java - SummaryStatisticsの使用方法(count、min、max、average)
- Java8 - 関数型インタフェース (Functional Interface) について
- Java - String配列をint配列に変換する
- Java - ArrayList要素の値を変更する方法、replaceAll()
- Java - 2つのリストが同じかどうかを比較
- Java - 配列から特定のIndex要素を削除する3つの方法
- Java - HashMapソート、4つの方法
- Java - 文字列を配列に変換する方法
- Java - ArrayListが空であることを確認する3つの方法
- Java - ArrayListの巡回、4つの方法
- Java - ArrayListの最大値、最小 値を見つける
- Java - ArrayListの合計、平均値の計算
- Java - HashMap巡回、3つの方法
- Java - do whileとwhileの違い
- Java - Lambda式と関数型インタフェース
- Java - List empty(null)チェック、3つの方法
- Java - ArrayListの初期化、4つの方法
- Java - Stream.reduce()の使い方と例
- Java - 2つのマップを結合する(merge、putAll)
- Java - java.util.Dateをjava.sql.Dateに変換する
- Java - ArrayListをStringに変換する
- Java - ClassNotFoundExceptionの発生原因と解決策
- Java - 非静的メソッドは静的コンテキストから参照できません
- Java - NoSuchMethodErrorの原因と解決策
- Java - JSONライブラリを使用する方法(JSONObject、JSONArray)
- Java - byte[]配列をFileに保存
- Java - byte[]の配列をStringに変換
- Java - ファイルのアクセス権を確認し、変更
- Java - 一時フォルダ(Temp directory)パスを取得する
- Javaでシェルスクリプトを実行
- Java - Streamを配列に変換する
- Java - リスト重複排除、2つの方法