ArrayList 클래스
ArrayList 클래스는 핵심 자바 라이브러리(API)에 들어있습니다.
java.util.ArrayList 를 import 문으로 추가해 주어야 합니다.
ArrayList 클래스에 들어있는 메서드들
① add(Object elem) : 객체 매개변수(elem)를 목록에 추가하는 메서드입니다.
② remove(int index) : index 매개 변수로 지정한 위치에 있는 객체를 제거하는 메서드입니다.
③ remove(Object elem) : 주어진 객체가 ArrayList 에 있으면 그 객체를 제거하는 메서드입니다.
④ contains(Object elem) : 객체 매개변수 elem 에 매치되는 것이 있으면 참(true) 을 리턴하는 메서드입니다.
⑤ isEmpty( ) : 목록에 아무런 데이터도 없으면 참(true) 을 리턴하는 메서드입니다.
⑥ indexOf(Object elem) : 객체 매개변수(elem)의 인덱스 또는 -1을 리턴하는 메서드입니다.
⑦ size( ) : 현재 목록에 들어있는 인자의 개수를 리턴하는 메서드입니다.
⑧ get(int index) : 주어진 index 매개변수 위치에 있는 객체를 리턴하는 메서드입니다.
ArrayList 로 할 수 있는 것
① 새로운 ArrayList 객체를 새로 만들어 줍니다.
ArrayList<Egg> myList = new ArrayList<Egg>( ) ;
// 새로운 ArrayList<Egg> 객체인 myList가 힙에 생성됨
② Egg 객체를 삽입합니다.
Egg a = new Egg( ); // Egg 객체 a 생성
myList.add(a);
// ArrayList 객체는 Egg 객체를 담기 위한 상자로 사용되어 Egg 객체 a를 추가함
③ 다른 Egg 객체를 삽입합니다.
Egg b = new Egg( ); // 두번째 Egg 객체 b 생성
myList.add(b); // ArrayList 객체는 Egg 객체 b를 추가 입력함
④ size( ) 메서드를 이용하여 ArrayList에 몇 개의 객체가 들어 있는지 확인해 봅니다.
int theSize = myList.size( );
// ArrayList에는 객체가 a,b 두개 들어있으므로 size( ) 메소드는 2 를 반환함
⑤ contains( ) 메서드를 이용하여 ArrayList에 어떤 객체가 들어있는지 체크해 볼 수 있습니다.
boolean isIn = myList.contains(a);
// ArrayList에는 Egg 객체 a가 들어있으므로 참(true) 을 반환함
⑥ indexOf( ) 메서드를 이용하여 ArrayList에 있는 객체의 위치(인덱스)를 찾아줍니다.
int idx = myList.indexOf(b);
// a 객체의 인덱스는 0이고, b 객체의 인덱스는 1이므로 indexOf(b)는 1을 반환함
⑦ isEmpty( ) 메서드를 이용하여 비었는지 확인합니다.
boolean empty = myList.isEmpty( );
// 비어있지 않으면 isEmpty( )는 거짓(false)을 반환함
⑧ remove( ) 메서드를 이용하여 목록에 들어 있는 객체를 제거합니다.
myList.remove(b); // 객체 b를 제거함
ArrayList 와 일반 배열의 차이점
① 일반 배열은 만들어질 때부터 유형과 크기가 정해집니다.
ArrayList 에서는 ArrayList 유형의 객체만 만들면 됩니다. 객체를 추가하거나 제거하면 저절로 커지고 작아지므로 크기를 따로 지정할 필요가 없습니다.
new String[2] // 배열은 크기를 지정해야 함
new ArrayList<String>( ) // ArrayList 는 크기를 지정하지 않아도 됨
② 객체를 일반 배열에 입력할 때는 위치를 지정해 주어야 합니다.
myList[1] = a; // 배열은 myList[1] 처럼 입력 위치에 인덱스를 지정해 주어야 함
myList.add(a); // ArrayList 는 인덱스를 지정하지 않음
③ 배열을 사용할 때는 배열 전용 문법을 사용해야 합니다.
ArrayList 는 일반 자바 객체이므로 특별한 전용 문법을 사용할 필요가 없습니다.
myList[1] // 배열 전용 대괄호([ ])는 배열에서만 쓰이는 특별한 기호입니다.
④ 자바 5.0 부터 ArrayList 는 매개변수화된 유형이라는 기능이 추가되었습니다.
ArrayList<String> //<String>에서 String 은 유형 매개변수(type parameter)임
ArrayList<String> 은 String 으로 구성된 ArrayList 를 의미합니다.
ArrayList 뒤에 나오는 < > 기호는 어떤 유형의 객체가 들어가는 지를 알려주기 위한 용도로 사용합니다.
ArrayList 프로그램 실습
'자바' 카테고리의 다른 글
Boolean 클래스 (0) | 2021.12.01 |
---|---|
포장(Wrapper) 클래스 (0) | 2021.11.30 |
java.lang 패키지 (0) | 2021.11.28 |
추상 클래스와 추상 메소드 (0) | 2021.11.27 |
자바 배열 (0) | 2021.11.26 |
댓글