본문 바로가기
Java

ArrayList란

by 신입같은 3년차 2017. 6. 11.

ArrayList란 배열에서 발전된 형태라고 보시면됩니다. (그렇다고 배열과 같은건 아님).

 

일반적인 배열을 선언해서 사용하게된다면 인덱스를 다 채우거나 인덱스를 다 못채울수도 있는데 이러한경우 인덱스가 가득찼다면 더이상 값을 넣지 못할 것이고 인덱스가 남는다면 메모리가 낭비되는 현상이 일어난다.

 

이러한 문제를 해결하기 위해 java에서 ArrayList라는 클래스를 제공합니다.

ArrayList클래스로 리스트를 만들기 위해서는 리스트에 저장할 데이터의 타입을 정해야 합니다.

또한 ArrayList 클래스를 포함한 모든 자료구조 클래스는 레퍼런스 타입의 데이터만 저장할 수 있습니다.

 

ArrayList<String> list = new ArrayList<String>();

* <>안에 쓰여진 타입을 타입 파라미터(Type parameter)라고 부른다. 타입 파라미터는 데이터 타입을 제한하는 역할을 한다.

 

- ArrayList에 데이터 삽입/수정/삭제

 

 

 삽입 : list.add

 list.add("수박");      // list에 "수박"을 추가한다

 list.add(2,"사과");    // index 2번에 "사과"를 추가한다

 수정 : list.set

 list.set(0,"귤");        // index 0번을 "귤"로 수정한다.

 삭제 : list.remove

 list.remove(0);        // index 0번을 list에서 삭제한다.

 list.remove("사과")  // list에서 "사과"를 찾아 삭제한다.

 

 

ArrayList 예제

 

* remove를 통해 index 2번을 삭제했는데 index 3번인 망고가 index 2번으로 되있는걸 확인 할 수 있다.

 remove() 메소드는 해당 데이터가 삭제되고 나면 뒤에 있던 데이터들이 한칸씩 앞으로 이동하게 된다.

 

 * 길이는 원래 length로 조회했지만 list클래스들은 size()로 길이를 알 수 있다.

반응형

댓글