본문 바로가기
Java

[Java] - ArrayList 기본 사용법

by 개발 고양이 2024. 7. 10.

ArrayList란?

ArrayList란 자바의 컬렉션 프레임워크에서 가장 많이 사용되는 클래스 중 하나이다. List 인터페이스를 구현한 클래스로서, 데이터의 순서가 고려되며, 중복이 가능하다. 

 

자바에서 일반적인 배열을 선언할 때 int[] arr = {1, 2, 3}; 과 같이 선언하는데, 이 경우 코드는 간결하지만, 정적으로 메모리를 할당했기 때문에 배열의 크기가 고정되어 있다. 하지만 ArrayList는 동적으로 메모리를 할당한 배열로, 데이터를 추가하거나 삭제할 때마다 내부에서 배열의 크기를 조절한다. 일반 배열과 마찬가지로 인덱스를 통하여 데이터에 접근이 가능하다. 


1. 헤더파일

import java.util.ArrayList;

ArrayList를 선언하기 위해서는 java.util.ArrayList를 import 시켜주어야 한다. 

 


2. ArrayList 선언하기

1. 기본 선언 방법

ArrayList <데이터 타입이름 = new ArrayList<> ();

 

 

2. 크기를 지정하여 선언

ArrayList <데이터 타입> 이름 = new ArrayList<> (크기);

 

 

데이터 타입을 적을 때 주의할 점은 int, float, double, long 이라고 적으면 오류가 발생한다.

Integer,  Float,  Double,  Long,  String 등으로 적어주어야 한다.

//정수형 ArrayList의 초기 용량을 3으로 설정
ArrayList<Integer> arr2 = new ArrayList<>(3);

ArrayList<String> arr3 = new ArrayList<>(); //문자열을 담을 수 있는 빈 ArrayList

 


3. ArrayList 참조 메소드

a.size(); ArrayList a의 데이터 개수 반환
a.get(k); ArrayList a의 인덱스 k 위치에 해당하는 값 반환
a.getFirst(); ArrayList a의 처음 값 반환 (인덱스 0 위치에 해당하는 값)
a.getLast(); ArrayList a의 처음 값 반환 (인덱스 마지막 위치에 해당하는 값)
a.isEmpty(); 해당 ArrayList가 비어있으면 true, 아니라면 false 반환

 

 


4. ArrayList에 데이터 삽입하기

a.add(n); ArrayList a의 마지막에 n을 삽입
a.add(k, n); ArrayList a의 인덱스 index 위치에 n을 삽입

 


5. ArrayList 데이터 삭제하기

a.remove(index); ArrayList a의 인덱스 index 위치에 해당하는 원소 삭제
a.clear(); ArrayList a의 모든 원소 삭제

 

 


참고

ArrayList는 반복문을 사용하지 않고도 모든 원소 출력이 가능하다.

→ 단순히 System.out.print(이름); 만 써줘도 자동으로 모든 원소를 콘솔에 출력할 수 있다. 

 

 

예시

import java.util.ArrayList;

public class Main{
    public static void main(String[] args) {
        ArrayList<Integer> arr_int = new ArrayList<>(); //정수형 ArrayList arr_int 선언
        ArrayList<String> arr_str = new ArrayList<>();  //문자열형 ArrayList arr_str 선언

        System.out.println(arr_int.isEmpty()); //비어있으므로 true가 출력됨.
        arr_int.add(20);
        arr_int.add(30);
        arr_int.add(0,10);

        System.out.println(arr_int.isEmpty()); //비어있지 않으므로 false가 출력됨.
        System.out.println(arr_int); // [10, 20, 30]이 출력됨

        arr_str.add("banana");
        arr_str.add("orange");
        arr_str.addFirst("apple"); //arr_str의 맨 앞에 apple 추가
        arr_str.remove(1); //1번 인덱스 위치의 데이터인 orange가 삭제됨

        System.out.println(arr_str); // [apple, orange] 가 출력됨
    }
}

실행 결과

'Java' 카테고리의 다른 글

[Java] - 컬렉션(Collection) 이란?  (0) 2024.07.04