코딩 스쿨 Java

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

Java ArrayList Methods

자바에서의 ArrayList 메서드 (Java ArrayList Methods)

  • *ArrayList*는 자바의 동적 배열로, 크기가 고정된 배열과 달리 동적으로 크기가 변하는 배열입니다. ArrayListjava.util.ArrayList 클래스에 속하며, 배열과 달리 삽입, 삭제 등의 작업이 유연합니다. ArrayListList 인터페이스를 구현하고 있어 리스트에 관련된 많은 메서드를 제공합니다.

ArrayList 생성

ArrayListnew 키워드를 사용하여 생성할 수 있으며, 제네릭을 사용하여 타입을 지정할 수 있습니다.

ArrayList 생성 예시

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // String 타입의 ArrayList 생성
        ArrayList<String> fruits = new ArrayList<>();

        // 정수형 ArrayList 생성
        ArrayList<Integer> numbers = new ArrayList<>();
    }
}

설명:

  • ArrayList<String>문자열 타입의 요소만 저장할 수 있습니다.
  • ArrayList<Integer>정수 타입의 요소만 저장할 수 있습니다.

주요 ArrayList 메서드

1. add(): 요소 추가

add() 메서드는 ArrayList요소를 추가합니다. 인덱스를 지정하지 않으면 리스트의 끝에 추가되며, 특정 인덱스를 지정하여 요소를 삽입할 수도 있습니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();

        // 요소 추가
        fruits.add("Apple");
        fruits.add("Banana");

        // 특정 인덱스에 요소 삽입
        fruits.add(1, "Orange");

        System.out.println(fruits);  // 출력: [Apple, Orange, Banana]
    }
}

2. get(): 특정 요소 가져오기

get() 메서드는 ArrayList에서 특정 인덱스의 요소를 가져옵니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");

        // 인덱스 0의 요소 가져오기
        String fruit = fruits.get(0);
        System.out.println(fruit);  // 출력: Apple
    }
}

3. set(): 요소 수정

set() 메서드는 ArrayList특정 인덱스에 있는 요소를 다른 값으로 수정합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");

        // 인덱스 1의 요소 수정
        fruits.set(1, "Orange");

        System.out.println(fruits);  // 출력: [Apple, Orange]
    }
}

4. remove(): 요소 제거

remove() 메서드는 ArrayList에서 특정 인덱스 또는 특정 값을 가진 요소를 제거합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");

        // 인덱스 1의 요소 제거
        fruits.remove(1);

        // 특정 값을 가진 요소 제거
        fruits.remove("Orange");

        System.out.println(fruits);  // 출력: [Apple]
    }
}

5. size(): 리스트 크기 반환

size() 메서드는 ArrayList의 **현재 크기(요소의 개수)**를 반환합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");

        // 리스트 크기 출력
        System.out.println(fruits.size());  // 출력: 2
    }
}

6. isEmpty(): 리스트가 비어있는지 확인

isEmpty() 메서드는 ArrayList비어있는지 여부를 확인합니다. 비어 있으면 true, 비어 있지 않으면 false를 반환합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();

        // 리스트가 비어있는지 확인
        System.out.println(fruits.isEmpty());  // 출력: true

        fruits.add("Apple");

        System.out.println(fruits.isEmpty());  // 출력: false
    }
}

7. contains(): 특정 요소 포함 여부 확인

contains() 메서드는 ArrayList특정 요소가 포함되어 있는지 확인합니다. 포함되어 있으면 true, 그렇지 않으면 false를 반환합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");

        // 리스트에 특정 요소 포함 여부 확인
        System.out.println(fruits.contains("Apple"));  // 출력: true
        System.out.println(fruits.contains("Orange"));  // 출력: false
    }
}

8. clear(): 모든 요소 제거

clear() 메서드는 ArrayList모든 요소를 제거하여 빈 리스트로 만듭니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");

        // 모든 요소 제거
        fruits.clear();

        System.out.println(fruits);  // 출력: []
    }
}

9. indexOf(): 특정 요소의 인덱스 찾기

indexOf() 메서드는 ArrayList에서 특정 요소가 처음으로 나타나는 인덱스를 반환합니다. 요소가 없으면 -1을 반환합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Apple");

        // 특정 요소의 인덱스 찾기
        System.out.println(fruits.indexOf("Apple"));  // 출력: 0
        System.out.println(fruits.indexOf("Orange"));  // 출력: -1
    }
}

10. addAll(): 다른 컬렉션의 모든 요소 추가

addAll() 메서드는 다른 컬렉션의 모든 요소ArrayList에 추가합니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");

        ArrayList<String> moreFruits = new ArrayList<>();
        moreFruits.add("Orange");
        moreFruits.add("Grapes");

        // 다른 리스트의 모든 요소 추가
        fruits.addAll(moreFruits);

        System.out.println(fruits);  // 출력: [Apple, Banana, Orange, Grapes]
    }
}

11. subList(): 부분 리스트 추출

subList() 메서드는 ArrayList의 일부 구간을 추출하여 부분 리스트로 반환합니다.

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

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
        fruits.add("Grapes");

        // 인덱스 1부터 3까지의 부분 리스트 추출
        List<String> subList = fruits.subList(1, 3);

        System.out.println(subList);  // 출력: [Banana, Orange]
    }
}

12. sort(): 리스트 정렬

sort() 메서드는 ArrayList의 요소를 정렬합니다. 문자열이나 숫자를 오름차순으로 정렬할 수 있습니다.

import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Banana");
        fruits.add("Apple");
        fruits.add("Grapes");

        // 리스트 정렬
        Collections.sort(fruits);

        System.out.println(fruits);  // 출력: [Apple, Banana, Grapes]
    }
}

13. forEach(): 모든 요소에 대해 작업 수행

forEach() 메서드는 ArrayList모든 요소에 대해 작업을 수행

하는 람다식을 사용할 수 있습니다.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<>();
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");

        // forEach()를 사용하여 리스트 요소 출력
        fruits.forEach(fruit -> System.out.println(fruit));
    }
}

출력:

Apple
Banana
Orange

요약

자바의 ArrayList 클래스는 배열의 크기를 유연하게 관리하고 다양한 메서드를 제공하여 데이터를 쉽게 조작할 수 있습니다. 주요 메서드는 다음과 같습니다:

  • add(): 요소 추가
  • get(): 요소 가져오기
  • set(): 요소 수정
  • remove(): 요소 제거
  • size(): 리스트의 크기 반환
  • isEmpty(): 리스트가 비어있는지 확인
  • contains(): 특정 요소 포함 여부 확인
  • clear(): 모든 요소 제거
  • indexOf(): 특정 요소의 인덱스 반환
  • sort(), forEach(): 요소 정렬, 작업 수행

ArrayList는 동적으로 크기가 변하며 삽입, 삭제 작업에 매우 유용한 자료구조입니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com