Programming Language/Java

ArrayList 주요 메소드

DongHo 2023. 5. 17. 00:09

List

  • 배열과 같이 여러 데이터를 담을 수 있는 자료형입니다.
  • 추가로 여러가지 메소드를 제공합니다.
ArrayList al = new ArrayList();
al.add(1);
al.add('a');

ArrayList

import java.util.arrayList

 

생성자

new ArrayList() : 기본 크기가 10인 배열 생성합니다.
new ArrayList() : 기본 크기를 지정하여 (배열이 다 차면 기본 크기만큼 사이즈가 증가합니다.)
new ArrayList<제네릭>() : 배열 값의 타입을 지정해줍니다.

※ 재네릭(Generic)
    - 컬렉션 객체를 생성할 때 저장되는 데이터의 타입을 미리 지정하는 기능입니다.
    - 제네릭으로 지정한 타입 외에는 담길 수 없도록 합니다.

 

메소드

메소드 기능
add((index), val) 순서대로 리스트를 추가, 배열 사이즈 초과 시 초기 설정된 사이즈만큼 자동으로 사이즈가 증가합니다. 인텍스를 추가로 지정해주면 해당 인덱스에 값을 삽입합니다.
get(index) 해당 인덱스의 값 변환
set(index, val) 인덱스로 값 변경
indexOf(val) 값을 제공하면 해당 값의 첫번째 인덱스를 반환합니다.
lastindexOf(val) 해당 값의 마지막 인덱스를 반환합니다.
remove(index or val) 해당 인데그의 값 or 해당 값 중 첫번째 값을 삭제합니다.
contains(val) 해당 값이 배열에 있는지 검색해서 true / false 로 반환합니다.
containsAll(val1, val2...) argument로 제공한 컬렉션의 모든 값이 포함되어 있는지 여부를 true / false로 반환합니다.
toArray() ArrayList 타입의 인스턴스를 일반 배열 타입으로 반환, 저장할 타입에 맞춰 자동 형 변환, 배열 크기 또한 자동으로 맞춰서 바꿔줍니다.
clear() 값을 모두 삭제합니다.
isEmpty() 비어있으면 true, 하나라도 있으면 false 반환합니다.
addAll(arr2) 두 컬렉션을 합칩니다.
retain(arr2) argument로 제공한 컬렉션 내에 들어있는 값을 제외하고 모두 지워줍니다.
removeAll(arr2) argument로 제공한 컬렉션 내에 들어있는 값과 일치하는 값을 모두 지워줍니다. retainAll()메소드와는 반대
size() 요소의 개수를 반환합니다.

 

import java.util.ArrayList;

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

        // 리스트 요소 추가
        al.add("박");
        al.add("김");
        al.add("최");
        System.out.println(al); // [박, 김, 최]

        al.add(1, "이");
        System.out.println(al); // [박, 이, 김, 최]

        // 해당 인덱스의 값 반환
        System.out.println(al.get(0)); // 박

        // 인덱스로 값 변경
        al.set(3, "정");
        System.out.println(al); // [박, 이, 김, 정]

        // 인덱스로 값 찾기
        al.add("박"); // [박, 이, 김, 정, 박]
        System.out.println(al.indexOf("박")); // 0
        System.out.println(al.lastIndexOf("박")); // 4

        // 값 삭제
        al.remove(4);
        System.out.println(al); // [박, 이, 김, 정]

        al.add("정"); // [박, 이, 김, 정, 정]
        al.remove("정");
        System.out.println(al); // [박, 이, 김, 정]

        // 값 포함하는지
        System.out.println(al.contains("정")); // true

        // Array로 변환
        System.out.println(al.toArray()); // [Ljava.lang.Object;@7d6f77cc

        // 배열 비우기
        al.clear();
        System.out.println(al); // []

        // 배열 비었는 지 확인
        System.out.println(al.isEmpty()); // true

        // 두 리스트 합치기
        ArrayList<String> al1 = new ArrayList<String>();
        al1.add("박");
        al1.add("김");
        al1.add("이");

        ArrayList<String> al2 = new ArrayList<String>();
        al2.add("최");
        al2.add("정");
        al2.add("박");

        al1.addAll(al2);
        System.out.println(al1); // [박, 김, 이, 최, 정, 박]

        // 한 리스트가 한 리스트 포함하는지
        System.out.println(al1.containsAll(al2)); // true

        // 리스트 해당 요소 빼고 지우기
        al1.retainAll(al2);
        System.out.println(al1); // [박, 최, 정, 박]

        // 리스트 해당 요소 지우기
        al1.removeAll(al2);
        System.out.println(al1); // []

        // 요소 개수 반환
        System.out.println(al1.size()); // 0
        System.out.println(al2.size()); // 3
    }
}

'Programming Language > Java' 카테고리의 다른 글

HashMap 주요 메소드  (0) 2023.05.17
HashSet 주요 메소드  (0) 2023.05.17
Array 주요 메소드  (0) 2023.05.16
StringBuilder 주요 메소드  (0) 2023.05.16
문자열(String) 주요 메소드  (0) 2023.05.16