본문 바로가기
  • hello world
Language/Java

[Java] 배열 · ArrayList

by JJoajjoa 2023. 8. 10.

 

배열

 

고정 크기의 데이터 저장소

동일한 타입의 데이터를 연속된 메모리 공간에 저장

인덱스를 사용하여 배열의 요소에 빠르게 접근할 수 있음

int[] numbers = new int[5]; // 크기가 5인 정수형 배열 선언
numbers[0] = 1; // 첫 번째 요소에 값 할당

// 배열 선언과 동시에 초기화
int[] numbers = {1, 2, 3, 4, 5};

 

 

▶ 잘못된 배열 선언, 생성, 할당의 예시

int[6] list;
// 잘못된 점: 배열을 선언할 때 크기를 지정할 수 없음

int[] list;
list = new list[];
// 잘못된 점: 배열은 생성할 때 크기를 지정해줘야함

list = new int[5];
list[5] = 500;
// 잘못된 점: 0부터 시작하므로 5는 존재하지 않음

 

 

▶ 배열 사용 예시

// 메인함수 안에서

int[] list = new int[5];

// 반복문 for 사용
for (int i = 0; i < list.length; i++) {
	System.out.println(list[i]);
}

// 반복문 foreach 사용
for (int num : list) {
	System.out.println(num);
}

 


 

 

ArrayList

 

동적 크기의 배열(하나의 변수상자 안에 여러 값을 넣기)

자료형이 계속 변하는 상황에 사용

Java의 컬렉션 프레임워크에서 제공

다양한 데이터 타입을 저장할 수 있으며, 제네릭을 사용하여 타입 안전성을 보장

다양한 메서드 제공

 

import java.util.ArrayList;

 

ArrayList 함수  
arr.add()  
arr.get()  
arr.size()  
arr.contains()  
arr.remove()  

 

 

 

 

 


 

▶ 배열과 ArrayList의 차이점

특 징 배열 Array 어레이리스트 ArrayList
크기 고정 동적
타입 특정 타입만 저장 가능 제네릭을 사용하여 다양한 타입 저장 가능
성능 빠른 요소 접근 요소 추가/제거시 성능 저하 이슈
사용용이성 초기 크기 지정 필요 요소 추가/제거 용이
선언 및 초기화 예 int[] arr = new int[5]; ArrayList<Integer> list = new ArrayList<>();