본문 바로가기
자바

ArrayList 클래스

by 복제비 2021. 11. 29.

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

댓글