こんにちは。
いつものtaanatsuです。
PHPerによるJava奮闘記録です。
Javaのリスト( List<T>
)はミュータブル(後から変更可能)な変数を作成しますが、
List.of
でリストを作るとイミュータブル(後から変更不可能)な変数になります。
このときに .addAll()
などでデータを追加しようとすると、変更不可能な変数なのでもちろん怒られます。
イミュータブルなリスト変数にデータを後から追加したい場合は、変数の作り直しを行う必要があるのですが、
Streamを使うと結構簡単にリスト同士を結合できることを知りました。
import java.util.List; import java.util.stream.Stream; public class test { public static void main(String[] args) { List<Integer> numberList = List.of(1, 2, 3, 4, 5); List<Integer> numberList2 = List.of(6, 7, 8, 9, 10); //////////////// ↓ ここ ↓ //////////////// List<Integer> result = Stream .concat(numberList.stream(), numberList2.stream()) .toList(); System.out.println(result); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] } }
まだまだ勉強が足りぬ。。。
精進していきます!
ではまた次回