티스토리 뷰

IT/Java

[Java] ArrayList란?

DongChul 2014. 5. 7. 18:51

ArryaList를 처음 접하는 사람들은 배열에서 발전된 형태라고 보시면 됩니다.

일반적으론 배열을 선언하면 배열의 인덱스를 다 채우거나 인덱스를 못채울수도 있는데 만약 다 채웠다면 더이상 배열에다가 값을 넣지 못할것이고 다 못 채웠다면 그만큼 메모리가 낭비되는 현상이 일어납니다.

자바에서는 이러한 문제를 해결하기 위해 ArrayList 라는 클래스를 제공하는데 C를 공부하신분들 이라면 연결리스트와 비슷한 개념이라고 생각 하시면 되겠습니다.(물론 많은 차이가 있습니다.)

일단 ArrayList의 장점은 배열의 크기를 임의로 변화시킬수 있다는 것과 List에 들어갈수 있는 타입들을 사용자가 직접 설정할수 있다는 것입니다. 일반적인 기본형 타입도 가능하고 자신이 만든 클래스의 객체 타입도 설정할수 있습니다.

선언방식은 

ArrayList<test> myList = new ArrayList<test>(); 이러한 방식으로 선언하는데 <>안에 들어가는것이 List타입 입니다. 제가 예를 든것은 test클래스의 객체를 List에 타입으로 설정하겠다 라는 뜻입니다.

List에 집어 넣기 위해선
test T = new test();      객체를 선언한뒤
myList.add(T);            ArrayList클래스에 있는 add메소드를 사용하여 List에 추가합니다.
이러한 방식으로 계속 넣을수가 있는데 List의 인덱스는 0부터 시작하여 하나씩 올라갑니다.


ArrayList 클래스 안에 있는 메소드를 몇가지 소개하자면

add(Object elem)
     객체 매개변수(elem)를 목록에 추가

remove(int index)
     index 매개변수로 지정한 위치에 있는 객체를 제거

remove(Object elem)
     주어진 객체가 List에 있으면 그 객체를 제거

contains(Object elem)
     객체 매개변수 elem에 매치되는 것이 있으면 '참'을 리턴

isEmpty()
     목록에 아무 원소도 없으면 '참'을 리턴

indexOf(Object elem)
     객체 매개변수(elem)의 인덱스 또는 -1을 리턴

size()
      현재 목록에 들어있는 원소의 개수를 리턴

get(int index)
      주어진 index 매개변수 위치에 있는 객체를 리턴


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함