<String>
length()
chatAt(int index)
<배열>
length
위치 [i] 로 값 추출
리스트로 만들기 new ArrayList<>( Arrays.asList(배열) );
배열을 리스트로 변환할 때는 Arrays 클래스의 asList(T... a) 메서드를 사용합니다.
배열은 고정 크기이므로, Java는 Arrays.asList를 사용하여 배열을 리스트 형태로 래핑(wrapping) 합니다. 즉, 실제로는 배열을 기반으로 동작하는 리스트를 반환하는 것이죠.
Arrays.asList로 변환한 리스트는 고정 크기이므로 add나 remove 같은 메서드를 사용할 수 없습니다.
배열 → 리스트: 배열은 이미 크기가 고정된 객체이므로, 이를 리스트로 감싸는 데 추가적인 크기 정보가 필요하지 않습니다.
String[] array = {"a", "b", "c"};
// Arrays.asList()로 리스트로 변환
List<String> list = Arrays.asList(array);
만약 가변 크기의 리스트가 필요하다면, new ArrayList<>(Arrays.asList(array))를 통해 명시적으로 새로운 리스트를 생성해야 합니다.
// 가변 리스트가 필요하면 ArrayList로 래핑
List<String> mutableList = new ArrayList<>(Arrays.asList(array));
<리스트>
size()
위치는 get()
추가 add()
삭제 remove()
정수 배열로 만들기 리스트.stream().mapToInt(Integer::intValue).toArray();
문자 배열로 만들기 리스트.toArray(new String[리스트.size()]);
리스트를 배열로 변환할 때는 List 인터페이스의 toArray(T[] a) 메서드를 사용합니다.
리스트 → 배열: toArray는 기존 리스트의 요소를 배열에 복사해야 하므로, 배열의 크기를 알아야 합니다. 이를 위해 명시적으로 크기를 전달하거나, 빈 배열(new String[0])을 제공해야 합니다.
// toArray() 메서드로 배열로 변환
String[] array = list.toArray(new String[list.size()]);
String[] array = list.toArray(new String[0]);
new String[0]을 넣는 이유는 Java가 타입을 정확히 알 수 있게 하며, 배열의 크기를 동적으로 조정합니다. Java는 내부적으로 필요한 크기의 배열을 생성해 반환하거나, 제공된 배열을 채웁니다.
헷갈리지 않도록 기억하는 방법
리스트 → 배열: 배열은 크기를 고정해야 하므로 toArray(new T[0]) 형태로 변환.
배열 → 리스트: 배열은 이미 크기가 고정되어 있으므로 **Arrays.asList()**를 통해 리스트로 감쌉니다.
( 가변 크기가 필요하다면 new ArrayList<>(Arrays.asList(array))를 사용)
'[JAVA] 개발 > 문법' 카테고리의 다른 글
[JAVA] String.split("x",-1); (0) | 2024.11.18 |
---|---|
문자열 비교 (참조 주소와 객체) (1) | 2024.11.17 |
[JAVA] char vs String (0) | 2024.11.16 |