본문 바로가기
프로그래밍 언어/Java

[Java] ArrayList

by 까망 하르방 2021. 2. 23.
반응형

ArrayList

List는 가변적인 배열입니다.

일반적인 배열과 마찬가지로 순서있기에 인덱스 번호를 통해 접근할 수 있습니다.

하지만 배열은 크기가 고정되는데 비해 List 자료구조는 크기를 고정할 필요가 없다.

왜냐하면 필요한 크기만큼의 새로운 배열을 만들어서 기존 자료를 옮기는 형태이기 때문이다.

즉, 현재 배열의 데이터가 다 채워진 상태에서 새로운 데이터가 추가되려고 하

      리스트 계열의 클래스들은 새로운 배열을 만들어서 기존 데이터를 복사해버립니다.

 

ArrayList 예제

add() 리스트 맨 마지막에 원소를 추가해줍니다.

        특정 인덱스와 함께 인자를 넘겨주면 해당 위치에 요소를 넣을 수 있습니다.

get() 해당 데이터 실제값을 복사해서 반환

remove() 변수에는 객체의 레퍼런스을 가지게 하고 ArrayList 안에는 더는 레퍼런스를 보관하지 않는 형태

import java.util.ArrayList;

public class Main{
    public static void main(String[] args) {
        
        ArrayList<String> list = new ArrayList<>();
        
        // 데이터 추가
        list.add("AAA");
        list.add("BBB");
        list.add("CCC");
        System.out.println(list);
        
        // 특정 위치에 데이터 추가
        list.add(1, "DDD");
        System.out.println(list);
        
        // 특정 위치의 데이터값 변경
        list.set(0, "EEE");
        System.out.println(list);
        
        // 요소값 가져오기
        String str = list.get(1);
        System.out.println("str: " + str);
        str = "AAA";
        System.out.println("str: " + str);
        System.out.println(list);
        
        // 요소값 삭제
        list.remove(1);
        System.out.println(list);
        
        
    }
}

반응형

댓글