All About IT
[Java 기초] 배열(Array)와 ArrayList의 차이에 따른 활용법
이번 시간에는 배열과 ArrayList의 차이점에 대해 알아보려고 하는데요.
어떻게 다른지 한번 비교해볼까요?
배열과 ArrayList에 문자를 저장하는 코드
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
String[] array = new String[10];
List<String> list = new ArrayList<>();
System.out.println("저장 전 length : "+array.length);
System.out.println("저장 전 size : "+list.size());
array[0] = "홍길동";
array[1] = "이순신";
array[2] = "강감찬";
list.add("홍길동");
list.add("이순신");
list.add("강감찬");
System.out.println("저장 후 length : "+array.length);
System.out.println("저장 후 size : "+list.size());
}
}
배열과 ArrayList를 생성하고 값을 저장하기 전과 후의 길이를 비교해보려고 합니다.
오늘의 핵심 키워드
- < 저장 전 length > 배열의 length를 10으로 선언했기 때문에 10 출력
- < 저장 전 size > ArrayList에 값이 저장되지 않았기 때문에 size 0 출력
- < 저장 후 length > 값이 3개만 저장되어도 length는 10으로 고정되기 때문에 10 출력
- < 저장 후 size > 값이 3개가 저장되었기 때문에 size 3 출력
저장된 값을 확인하기 위해 for문을 활용해 출력하는 코드를 추가했습니다.
< array >
배열의 length를 10으로 선언했기 때문에 10개의 값이 메모리의 할당이 되었고 3개만 입력되었기 때문에 나머지 값은 null이 출력되는 것을 확인할 수 있습니다.
< list >
ArrayList는 값이 입력되는 대로 저장되기 때문에 입력된 3개의 값만 출력되는 것을 확인할 수 있습니다. 그리고 배열과는 다르게 향상된 for문을 사용하여 객체를 출력한 것을 볼 수 있습니다.
최종 완성본
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
String[] array = new String[10];
List<String> list = new ArrayList<>();
System.out.println("저장 전 length : "+array.length);
System.out.println("저장 전 size : "+list.size());
array[0] = "홍길동";
array[1] = "이순신";
array[2] = "강감찬";
list.add("홍길동");
list.add("이순신");
list.add("강감찬");
System.out.println("저장 후 length : "+array.length);
System.out.println("저장 후 size : "+list.size());
System.out.print("array = ");
for(int i=0; i<array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
System.out.print("list = ");
for(String s : list) {
System.out.print(s + " ");
}
}
}
꼭 봐야되는 마지막 꿀팁!
- 값의 개수가 고정적이고 단순할 때는 배열(Array) 사용하기!
- 값의 개수가 유동적이고 계속 추가될 때는 ArrayList 사용하기!
▲영상으로 한번 더 복습하세요 :)