Today Yewon Learned

[JAVA] ArrayList 본문

JAVA

[JAVA] ArrayList

데브워니 2021. 11. 10. 10:16

1. ArrayList

- ArrayList는 List 인터페이스를 상속받은 클래스로 크기가 가변적으로 변하는 선형리스트

- 일반적인 배열과 같은 순차리스트이며 인덱스로 내부의 객체를 관리한다는점등이 유사하지만 한번 생성되면 크기가 변하지 않는 배열과는 달리 ArrayList는 객체들이 추가되어 저장 용량(capacity)을 초과한다면 자동으로 부족한 크기만큼 저장 용량(capacity)이 늘어난다는 특징을 가짐

 

 

2. ArrayList 생성

- ArrayList는 java.util.ArrayList에 포함되어 있으므로 먼저 java.util.ArrayList import를 진행

import java.util.ArrayList;
ArrayList list = new ArrayList(); // 타입 미설정 - Object로 선언됨
ArrayList<Student> members = new ArrayList<Student>(); // 타입설정 - Student객체만 사용 가능
ArrayList<Integer> num = new ArrayList<Integer>(); // 타입설정 - int타입만 사용 가능
ArrayList<Integer> num2 = new ArrayList<>(); // new에서 타입 파라미터 생략 가능
ArrayList<Integer> num3 = new ArrayList<Integer>(10); // 초기 용량(capacity)지정
ArrayList<Integer> list2 = new ArrayList<Integer>(Arrays.asList(1,2,3)); // Arrays.asList()

- 보통 생성할 때는 new ArrayList<>()와 같이 타입을 생략해서 작성

- ArrayList를 생성할 때 Set이나 다른 ArrayList를 전달하면 해당 Collections의 값들로 초기화됨

- 가변 인자를 전달받는 Arrays.asList()를 사용하면 기본 값들로 생성 가능

 

 

3. ArrayList 엘리먼트 추가

- 엘리먼트를 추가할 때는 add 메소드를 사용

- add는 단순히 배열 뒤에 데이터를 더하기 때문에 빠름

ArrayList<Integer> numbers = new ArrayList<>(); // number 객체 생성
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);

numbers.add(1, 50);

 

 

3. ArrayList 엘리먼트 삭제

numbers.remove(2);

 

numbers.clear();

- ArrayList 안의 내용을 전체 삭제할 때는 clear()를 호출

 

 

4. ArrayList 엘리먼트 가져오기

- 특정 인덱스에 위치한 엘리먼트를 가져올 때는 get을 사용

- 이때 내부에서 배열을 사용하기 때문에 ArrayList는 매우 빠르게 엘리먼트를 가져옴

numbers.get(2);

'JAVA' 카테고리의 다른 글

[JAVA] Generic(제네릭)  (0) 2021.11.15
[JAVA] Casting(캐스팅 : 형변환)  (0) 2021.11.12
[JAVA] 상속  (0) 2021.11.11
[JAVA] Setter 메소드와 Getter 메소드  (0) 2021.11.10
[JAVA] HashMap  (0) 2021.11.10
Comments