다음은 배열과 컬렉션을 비교하고, 배열을 컬렉션으로 변환하는 방법을 정리한 표입니다.
배열과 컬렉션 비교
| 항목 | 배열 (Array) | 컬렉션 (Collection) |
|---|
| 크기 조절 | 고정 크기 (변경 불가) | 가변 크기 (동적으로 조절 가능) |
| 데이터 타입 | 동일한 타입만 저장 가능 | 다양한 타입 저장 가능 |
| 메모리 사용 | 크기를 초과하면 새로운 배열 생성 필요 | 자동으로 크기 조절 가능 |
| 성능 | 인덱스를 사용하여 빠르게 접근 가능 (O(1)) | 크기 조절과 추가/삭제가 유연함 (O(n), O(log n)) |
| 중복 허용 | 허용 (기본 배열) | 자료구조에 따라 다름 (Set은 중복 불가) |
| 순서 유지 | 인덱스를 통해 순서 유지 | List는 유지, Set은 미보장 |
| 대표적인 구현체 | int[], String[] 등 | ArrayList, LinkedList, HashSet, TreeSet 등 |
배열을 컬렉션으로 변환하는 방법 정리
| 변환 방법 | 코드 예제 | 특징 |
|---|
| 배열 → List 변환 (고정 크기) | List<String> list = Arrays.asList(array); | 고정 크기의 리스트로 변환 (추가/삭제 불가) |
| 배열 → 가변 크기 List 변환 | List<String> list = new ArrayList<>(Arrays.asList(array)); | ArrayList로 변환하여 요소 추가/삭제 가능 |
| 배열 → Set 변환 (중복 제거) | Set<String> set = new HashSet<>(Arrays.asList(array)); | 중복을 자동으로 제거하면서 저장 |
| 배열 → LinkedList 변환 | List<String> list = new LinkedList<>(Arrays.asList(array)); | LinkedList로 변환하여 중간 삽입/삭제에 최적화 |
배열을 List로 변환하는 코드 비교
| 방법 | 코드 예제 | 특징 |
|---|
| Arrays.asList() | List<String> list = Arrays.asList(array); | 고정 크기 리스트 (추가/삭제 불가) |
| ArrayList 생성자 사용 | List<String> list = new ArrayList<>(Arrays.asList(array)); | 가변 크기 리스트 (추가/삭제 가능) |
| Collections.addAll() 사용 | Collections.addAll(list, array); | 요소를 직접 리스트에 추가 |
이제 배열을 컬렉션으로 변환할 때 어떤 방법을 선택해야 할지 쉽게 이해할 수 있을 거야! 😊