개발이야기/Java

[Java] ArrayList 사용방법(생성, 예제, 메서드)

후린개발자 2024. 2. 16.
반응형

아래 소스코드는 ArrayList의 생성방법 부터 다양한 기능을 사용하는 ArrayList 메서드에 대한 예제코드 입니다.

 

 

1. ArrayList 생성방법

1) 요소의 타입을 명시하여 빈 ArrayList를 생성

ArrayList<String> arrayList1 = new ArrayList<>();

 

 

2) ArrayList가 저장할 요소의 개수를 알고 있을 때 초기 용량을 지정하여 생성

ArrayList<Integer> arrayList2 = new ArrayList<>(10); // 초기 용량이 10인 ArrayList 생성

 

 

3) 다른 Collection에서 ArrayList를 생성

Set<String> set = new HashSet<>();
set.add("one");
set.add("two");
ArrayList<String> arrayList3 = new ArrayList<>(set); // HashSet으로부터 ArrayList 생성

 

 

4) 배열(Array)로부터 ArrayList를 생성

String[] array = {"apple", "banana", "cherry"};
ArrayList<String> arrayList4 = new ArrayList<>(Arrays.asList(array)); // 배열로부터 ArrayList 생성

 

 

5) List 인터페이스의 of 메서드를 사용하여 요소를 직접 전달하여 ArrayList를 생성

ArrayList<String> arrayList5 = new ArrayList<>(List.of("apple", "banana", "cherry")); // Java 9부터 지원

 

 

2. ArrayList 메서드

1) 요소 추가

arrayList.add("사과");

 

-add(E element): 리스트의 끝에 지정된 요소를 추가합니다.

 

2) 요소 접근

String fruit = arrayList.get(0);

 

-get(int index): 지정된 인덱스의 요소를 반환합니다.

 

3) 요소 수정

arrayList.set(0, "수박");

 

-set(int index, E element): 지정된 인덱스의 요소를 새 요소로 바꿉니다.

 

4)요소 삭제

arrayList.remove("사과");
arrayList.remove(0);

 

-remove(Object o): 리스트에서 지정된 요소를 삭제합니다.
-remove(int index): 지정된 인덱스에 있는 요소를 삭제합니다.

 

5)크기 확인

int size = arrayList.size();

 

-size(): 리스트의 요소 수를 반환합니다.

 

6)비어 있는지 확인

boolean isEmpty = arrayList.isEmpty();

 

-isEmpty(): 리스트가 비어 있는지 여부를 반환합니다.

 

7)요소 포함 여부 확인

boolean containsBanana = arrayList.contains("바나나");

 

-contains(Object o): 지정된 요소가 리스트에 포함되어 있는지 여부를 반환합니다.

 

8)요소 검색

int index = arrayList.indexOf("수박");

 

-indexOf(Object o): 리스트에서 지정된 요소의 인덱스를 반환합니다. 요소가 없으면 -1을 반환합니다.

 

9)모든 요소 제거

arrayList.clear();

 

-clear(): 리스트의 모든 요소를 제거합니다.

 

10)배열로 변환

String[] array = arrayList.toArray(new String[arrayList.size()]);

 

-toArray(): 리스트의 요소를 배열로 반환합니다.

 

11)다른 컬렉션의 모든 요소 추가

ArrayList<String> otherList = new ArrayList<>();
otherList.add("포도");
otherList.add("레몬");
arrayList.addAll(otherList);

 

-addAll(Collection<? extends E> c): 지정된 컬렉션의 모든 요소를 리스트 끝에 추가합니다.

 

12)특정 인덱스부터 다른 컬렉션의 모든 요소 추가

ArrayList<String> otherList = new ArrayList<>();
otherList.add("포도");
otherList.add("레몬");
arrayList.addAll(2, otherList);

 

-addAll(int index, Collection<? extends E> c): 지정된 인덱스부터 시작하여 지정된 컬렉션의 모든 요소를 리스트에 삽입합니다.

 

13)부분 리스트 추출

List<String> subList = arrayList.subList(1, 3);

 

-subList(int fromIndex, int toIndex): 지정된 범위의 요소를 포함하는 새로운 리스트를 반환합니다.

 

 

3. 예제 소스코드

import java.util.ArrayList;
import java.util.List;

public class TEST {
    public static void main(String[] args) throws Exception {
        // ArrayList 생성
        ArrayList<String> arrayList = new ArrayList<>();

        // 요소 추가
        arrayList.add("사과");
        arrayList.add("바나나");
        arrayList.add("딸기");
        
        // 인덱스를 지정하여 요소 추가
        arrayList.add(1, "오렌지");

        // 전체 요소 출력
        System.out.println("ArrayList 전체 요소: " + arrayList);

        // 요소 접근
        String fruit = arrayList.get(1);
        System.out.println("인덱스 1의 과일: " + fruit);

        // 요소 삭제
        arrayList.remove("바나나");
        System.out.println("ArrayList 전체 요소: " + arrayList);

        // ArrayList 크기 확인
        System.out.println("ArrayList 크기: " + arrayList.size());

        // 특정 요소 포함 여부 확인
        boolean containsBanana = arrayList.contains("바나나");
        System.out.println("ArrayList에 바나나가 포함되어 있는가? " + containsBanana);

        // for-each 문을 이용한 요소 출력
        System.out.println("ArrayList 요소:");
        for (String item : arrayList) {
            System.out.println(item);
        }

        // 요소 수정
        arrayList.set(1, "수박");
        System.out.println("ArrayList 수정 후 요소: " + arrayList);

        // 요소 검색
        int index = arrayList.indexOf("수박");
        if (index != -1) {
            System.out.println("수박의 인덱스: " + index);
        } else {
            System.out.println("ArrayList에 수박이 없습니다.");
        }

        // ArrayList 비우기
        arrayList.clear();
        System.out.println("ArrayList 비우기 후 크기: " + arrayList.size());

        // ArrayList가 비어 있는지 확인
        boolean isEmpty = arrayList.isEmpty();
        System.out.println("ArrayList가 비어 있는가? " + isEmpty);

        // ArrayList를 배열로 변환
        arrayList.add("사과");
        arrayList.add("바나나");
        arrayList.add("딸기");
        String[] array = new String[arrayList.size()];
        arrayList.toArray(array);
        System.out.println("ArrayList를 배열로 변환:");
        for (String item : array) {
            System.out.println(item);
        }

        // 부분 리스트 추출
        arrayList.add("수박");
        List<String> subList = arrayList.subList(1, 3);
        System.out.println("부분 리스트:");
        for (String item : subList) {
            System.out.println(item);
        }
    } 
}

 


Console 결과

반응형

댓글

💲 추천 글