반응형
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);
}
}
반응형
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 기본 생성자 & 매개변수 생성자 (1) | 2021.02.23 |
---|---|
[Java] 생성자(Constructor) (0) | 2021.02.23 |
[Java] 객체 프로그래밍이란? (0) | 2021.02.23 |
[Java] main 함수 (0) | 2021.02.23 |
[예제] Java 입출력 속도 비교 (0) | 2021.02.18 |
댓글