配列とコレクション応用問題

配列をArrayListに変換して処理したときの動作について、正しく説明しているものはどれか。 String[] arr = {"cat", "dog", "bird"}; java.util.ArrayList<String> list = new java.util.ArrayList<>(java.util.Arrays.asList(arr)); list.add("fish"); list.remove(0); list.set(1, "lion"); System.out.println(list.get(1));

A.出力される値は"bird"である
✗ remove(0)で"cat"が削除されているため、list.get(1)は"bird"ではない
B.出力される値は"fish"である
✗ list.set(1,"lion")で位置1の要素が\"lion\"に変更されているため誤り
C.出力される値は"lion"である← 正解
✓ 正解です。remove後は{"dog","bird","fish"}、set後は{"dog","lion","fish"}となる
D."cat"が配列に残るため、動作は異なる
✗ ArrayListはArrays.asListで変換後は独立したオブジェクトになり、配列に影響しない

Oracle Certified Java Programmer, Bronze SE の問題一覧