새소식

반응형
Java/Spring

Array(배열) 과 ArrayList 차이

  • -
반응형

Array(배열) 과 ArrayList 의 차이가 궁금해져 정리하게 되었다.

 

  Array(배열) ArrayList
사이즈 초기화 할때 명시하여 고정시킨다.

String[] arr = new String[3];
초기화 시 사이즈를 명시하지 않는다.
크기가 가변적이며 Default 크기는 10이다.

ArrayList<String> arr_list = new ArrayList<String>();
속도 초기화 시 메모리에 할당하므로
ArrayList 보다 빠르다.
데이터 추가 및 삭제 시 메모리를 재할당하기 때문에
속도가 Array 보다 느리다.
크기 변경 사이즈 변경 불가 추가, 삭제 가능

add(), remove()

 

 

아래 예시를 보자

String[] arr = new String[3];
ArrayList<String> arr_list = new ArrayList<String>();

System.out.println("데이터 저장전 arr size : "+arr.length);
System.out.println("데이터 저장전 arr list size : "+arr_list.size());

arr[0] = "obo";
arr[1] = "obo2";
arr[2] = "obo3";

arr_list.add("배고파");
arr_list.add("너무 배고파..");
arr_list.add("얼른 점심시간 왔으면..");

System.out.println("데이터 저장 후 arr size : "+arr.length);
System.out.println("데이터 저장 후 arr list size : "+arr_list.size());

 

 

String Array 의 기본 초기화 값은 3이다.

ArrayList 는 초기화가 필요 없으므로 초기화 하지 않았다.

 

데이터 저장 전 size 를 보면 기본 초기화를 한 Array 는 3이고 초기화를 하지 않은 ArrayList 는 0이다.

데이터 저장 후는 초기화를 한 Array 는 고정 크기인 3이며, ArrayList 는 저장한 개수만큼 size 가 늘어났다.

 

ArrayList 의 기본 크기값은 10이다.

아래는  ArrayList 의 클래스이다. 기본적으로 크기는 10이며,

10을 초과했을 경우 메모리를 재할당하면서 크기가 늘어난다.

 

 

Array 배열은 크기가 고정되어 있다고 했다.

만약 크기가 3인 arr 배열의 4번째 Index 에 값을 넣었을 경우는 어떻게 될까?

String[] arr = new String[3];
ArrayList<String> arr_list = new ArrayList<String>();

System.out.println("데이터 저장전 arr size : "+arr.length);
System.out.println("데이터 저장전 arr list size : "+arr_list.size());

arr[3] = "obo";

arr_list.add("배고파");
arr_list.add("너무 배고파..");
arr_list.add("얼른 점심시간 왔으면..");

System.out.println("데이터 저장 후 arr size : "+arr.length);
System.out.println("데이터 저장 후 arr list size : "+arr_list.size());

 

 

Array Index 에 대한 에러가 발생한다.

반응형

'Java > Spring' 카테고리의 다른 글

@Value, @ConfigurationProperties 어노테이션  (0) 2024.07.18
Spring Security Filter Chain  (0) 2024.06.17
Stream(스트림)이란?  (0) 2024.05.24
logback 설정  (0) 2024.05.20
SecurityContext, SecurityContextHolder  (0) 2024.02.23
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.