[자바/안드로이드] ArrayList 살펴보기

Posted by 앱해피
2015. 6. 23. 12:52 자바(JAVA)

 

 

 

 

 

ArrayList 클래스 알아보기

 

1) 객체들을 삽입, 삭제, 검색 할 수 있는 컨테이너 클래스다.

 

2) 배열의 길이 제한 단점을 극복할 수 있다.

 

3) 삽입되는 객체의 수가 많아지면 자동으로 크기가 조절된다.

 

4) 아이템을 벡터의 맨 마지막이나 중간에 삽입할 수 있다.

 

5) ArrayList 맨 뒤에 객체 추가 : 벡터 공간이 모자라면 자동 늘림

 

6) ArrayList 중간에 객체 삽입 : 뒤에 존재하던 객체는 한칸씩 뒤로 이동

 

7) 임의의 위치에 있는 객체 삭제 : 객체 삭제 후 한칸씩 앞으로 자동 이동

 

 

어레이리스트, arraylist, 자바, 안드로이드, 콜렉션, collection, Vector, 벡터, LinkedList, 컨테이너, java.util, clear, 박싱, 언박싱, boxing, unboxing

위 그림은 벡터 객체의 내부 구조add(), get() 메소드

벡터에는 String, Integer, Person 등의 다양한 타입의 객체가 삽입 가능

 

벡터는 내부에 삽입된 요소들을 인덱스로 관리하며 인덱트는 0부터 시작

 

add() 메소드를 이용해서 객체를 삽입, get() 메소드를 이용해서 요소 객체 얻음

 


 

ArrayList 클래스의 주요 메소드(method)

 

 

 

 


 

 

 

 

[ArrayList의 생성]

ArrayList의 생성은 다음과 같이 간단하다.

 

어레이리스트, arraylist, 자바, 안드로이드, 콜렉션, collection, Vector, 벡터, LinkedList, 컨테이너, java.util, clear, 박싱, 언박싱, boxing, unboxing

 

[ArrayList에 요소 삽입]

ArrayList에 삽입할 수 있는 요소는 Object를 상속받는 모든 종류의 객체들이 가능하다. 요소를 삽입하는 메소드는 add()를 사용한다

 

a.add(4) // int형 데이터 (Integer 타입으로 전환되어 벡터에 저장)

a.add('r') // char형 데이터 (Character 타입으로 전환되어 저장)

a.add(3.14) // double형 데이터 (Double 타입으로 전환되어 저장)

 

[ArrayList 내의 객체 알아내기]

ArrayList 내에 존재하는 요소 객체를 알아내기 위해서는 get(), elementAt() 등의 메소드를 이용한다.

 

Integer obj = (Integer).get(1); // 벡터의 1번째 요소를 Integer 타입으로 캐스팅

int i = obj.intValue(); // obj에 있는 정수를 알아낸다. 값은 4

 

[ArrayList의 용량과 개수 알아내기]

 

ArrayList의 크기(size)는 ArrayList에 들어 있는 요소의 개수를 말한다.

 

[요소 ArrayList 중간에 삽입하기]

ArrayList에 있는 데이터는 인덱스로 관리할 수 있기 때문에, 인덱스 값을 이용해서 중간에 객체 삽입

 

 

어레이리스트, arraylist, 자바, 안드로이드, 콜렉션, collection, Vector, 벡터, LinkedList, 컨테이너, java.util, clear, 박싱, 언박싱, boxing, unboxing

 


[ArrayList에서 벡터 요소 삭제]

ArrayList 내에 임의의 인덱스에 있는 요소 객체를 삭제할 수 있다. remove() 메소드를 사용한다.

 

어레이리스트, arraylist, 자바, 안드로이드, 콜렉션, collection, Vector, 벡터, LinkedList, 컨테이너, java.util, clear, 박싱, 언박싱, boxing, unboxing

[ArrayList에서 모든 요소 삭제하기]

ArrayList 내에 존재하는 모든 요소를 한번에 삭제할 수 있다. clear() 메소드를 사용한다.

 

 

어레이리스트, arraylist, 자바, 안드로이드, 콜렉션, collection, Vector, 벡터, LinkedList, 컨테이너, java.util, clear, 박싱, 언박싱, boxing, unboxing

 


 

 

 

 

ArrayList를 사용한 예제

 

 

어레이리스트, arraylist, 자바, 안드로이드, 콜렉션, collection, Vector, 벡터, LinkedList, 컨테이너, java.util, clear, 박싱, 언박싱, boxing, unboxing

 

감사합니다 ^_^