728x90
배열 to ArrayList
new ArrayList<>(Arrays.asList(array));
String[] array = new String[3];
array[0] = "Test1";
array[1] = "Test2";
array[2] = "Test3";
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(array));
어? 그냥 Arrays.asList를 쓰면 안되나???
Arraus.asList의 코드를 보자.
반환된 List를 변경하려 하면 예외가 발생한다고 써져있다!!!
일반적인 ArrayList라면 다음과 같이 반환된다.
위에서도 나왔다시피 수정이 불가능하다!
String[] array = new String[3];
array[0] = "Test1";
array[1] = "Test2";
array[2] = "Test3";
List<String> strings = Arrays.asList(array);
strings.forEach(System.out::println);
strings.add("이거 추가하면 예외 발생");
다음 코드를 실행하면 결과는 다음과 같다.
따라서 asList를 그대로 사용하면 안되고, ArrayList의 생성자로 넣어주어 새로운 ArrayList를 만들어 주어야 한다.
ArrayList to 배열
ArrayList.toArray(); 사용
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Test1");
arrayList.add("Test2");
arrayList.add("Test3");
String[] array = arrayList.toArray(new String[arrayList.size()]);
📔 Reference
728x90
'☕️ Java > 기본' 카테고리의 다른 글
[JAVA] List 정렬하기 (ArrayList, LinkedList 등) (0) | 2021.12.16 |
---|---|
[JAVA] Stream의 toList()를 사용하여 ArrayList로 형변환할 때 발생하는 오류 (0) | 2021.12.16 |
[JAVA] 자바 Date to LocalDateTime (& Inversion) (0) | 2021.12.16 |
[JAVA] 형식화 클래스 - DecimalFormat, SimpleDateFormat (0) | 2021.12.16 |
[JAVA] 자바 9~ 17버전의 주요 특징 (0) | 2021.12.15 |