回答編集履歴

2

間違いの訂正を補うための追記

2020/04/27 16:00

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,51 @@
1
1
  Arrays.asList(配列)でリストを作ると要素を加えたり減らしたりすることのできない~~不変の~~固定サイズのリストになります。
2
2
 
3
3
  もし変更可能なリストを作りたいなら、```new ArrayList<String>(Arrays.asList("a","b","c"))```とするといいでしょう。
4
+
5
+
6
+
7
+ ######追記
8
+
9
+ 自分の間違いで不変リストと固定サイズのリストを混同しないように追記しておきます。
10
+
11
+ Arrays.asList()が返すのは固定サイズのリスト。
12
+
13
+ List.of()が返すのが不変のリスト。
14
+
15
+ ```Java
16
+
17
+ import java.util.Arrays;
18
+
19
+ import java.util.List;
20
+
21
+
22
+
23
+ public class Sample {
24
+
25
+
26
+
27
+ public static void main(String[] args) {
28
+
29
+ List<String> list1 = Arrays.asList("a", "b", "c");//固定サイズのリスト
30
+
31
+ list1.add("e"); //サイズを変更することはできないので実行時エラー
32
+
33
+ list1.set(1, "e"); //サイズは変更されてないためエラー出ない。要素の変更可能
34
+
35
+
36
+
37
+ List<String> list2 = List.of("a", "b", "c");//不変リスト
38
+
39
+ list2.add("e"); //サイズの変更はできないため実行時エラー
40
+
41
+ list2.set(1, "e"); //要素を変更することもできないので実行時エラー
42
+
43
+ }
44
+
45
+
46
+
47
+ }
48
+
49
+ ```
50
+
51
+ [https://ja.coder.work/so/java/36534](https://ja.coder.work/so/java/36534)

1

書式の改善

2020/04/27 16:00

投稿

退会済みユーザー
test CHANGED
@@ -1,3 +1,3 @@
1
- Arrays.asList(配列)でリストを作ると要素を加えたり減らしたりすることのできない不変のリストになります。
1
+ Arrays.asList(配列)でリストを作ると要素を加えたり減らしたりすることのできない~~不変の~~固定サイズのリストになります。
2
2
 
3
3
  もし変更可能なリストを作りたいなら、```new ArrayList<String>(Arrays.asList("a","b","c"))```とするといいでしょう。