728x90
배열 vs ArrayList 차이점 요약표
항목 | 배열 (Array) | ArrayList |
크기 | 고정 크기 (초기 선언 필수) | 가변 크기 (자동으로 늘어남) |
선언 방식 | int[] arr = new int[5]; | ArrayList<Integer> list = new ArrayList<>(); |
자료형 | 기본형 사용 가능 (예: int) | 참조형만 사용 가능 (Integer, String 등) |
요소 추가 | 불가능 (직접 인덱스에 대입) | add() 메서드로 간단 추가 |
요소 삭제 | 직접 새 배열 생성 필요 | remove()로 간편 삭제 |
요소 수정 | arr[i] = 값 | list.set(i, 값) |
길이 확인 | arr.length | list.size() |
반복문 사용 | 가능 (for, for-each) | 가능 (for, for-each) |
속도 | 더 빠름 (메모리 고정) | 상대적으로 느림 (동적 처리) |
예제 비교
배열 사용
int[] scores = new int[3];
scores[0] = 80;
scores[1] = 90;
scores[2] = 100;
System.out.println(scores[1]); // 90
ArrayList 사용
import java.util.ArrayList;
ArrayList<Integer> scores = new ArrayList<>();
scores.add(80);
scores.add(90);
scores.add(100);
System.out.println(scores.get(1)); // 90
언제 어떤 걸 써야 할까?
상황추천 |
자료구조 |
데이터 수가 고정되어 있는 경우 | 배열 (메모리 효율적) |
추가/삭제가 빈번한 경우 | ArrayList (편리함) |
문자열, 객체 관리 | ArrayList<String>, ArrayList<Student> 등 |
기초 알고리즘 연습용 | 배열 (int[], char[]) |
마무리 요약
비교 항목 | 핵심 요점 |
크기 | 배열은 고정, ArrayList는 동적 |
타입 | 배열은 기본형 가능, ArrayList는 객체형만 |
기능 | ArrayList는 추가/삭제/삽입 등 메서드 다양 |
코드 간결성 | ArrayList가 실무에서 더 효율적 |
연습 아이디어
- 배열로 성적 저장 → 총점 계산
- ArrayList로 이름 추가/삭제 기능 만들기
- 배열 → ArrayList 변환해보기
LIST
'JAVA > 자바 문법 기초 익히기' 카테고리의 다른 글
ArrayList 기초 사용법 (0) | 2025.04.12 |
---|---|
1차원 배열 선언/초기화 (0) | 2025.04.12 |
break, continue 사용법 (0) | 2025.04.12 |
for, while, do-while 반복문 (0) | 2025.04.12 |
switch 문 사용법 (0) | 2025.04.12 |