[DataStructures] 어레이리스트(ArrayList) -동적어레이리스트(Dynamic ArrayList)
Algorithm&DataStructures/LinkedList&ArrayList 2016. 11. 24. 17:27자바 구현 Dynamic ArrayList -Dynamic ArrayList in java
- ArrayList는 데이터를 가져올 때 LinkedList 보다 빠르다
- 데이터 추가/삭제시 비효율 적이다
- 자바 내장 ArrayList는 사이즈가 100으로 되어 있으며 100이상이 되면 자동으로 2배 씩 증가한다
1. ArrayList<E>.class
1) 초기화
- size 를 선언하여 요소 접근/삭제/추가시 유용하게 사용
- 배열의 크기를 2으로 지정한다(동적으로 증가한다)
2) addLast(E element)
- 배열의 뒤에서 부터 추가
- 뒤에서 부터 추가 되기 때문에 배열의 요소들이 움직일 필요가 없다
3. add(int index, E element)
- 배열의 특정 위치에 추가 한다
- 특정 위치에 추가 되기 때문에 배열 요소들을 뒤로 한 칸 씩 이동하는 작업이 필요하다
- for문을 큰 번호 에서 작은 번호로 이동하며 움직인다, 이후에 공간을 확보 하고 삽입한다
4. addFirst(E element)
- 첫 번째 삽입 되면 배열 요소의 재배치가 필요하다
- add() 이용
5. remove(int index)
- 특정 인덱스의 값을 삭제한다
- 배열의 재배치가 일어난다, 앞으로 이동해야 하기 때문에 작은 번호 부터 큰 번호 까지 for문을 동작
6. removeFirst()/removeLast()
- remove() 이용
7. get(int index)
- 데이터를 가져온다
8. indexOf(E element)
- 특정 데이터가 있는지 탐색한다
- 데이터가 있다면 데이터 위치를 나타내는 index 번호를 반환한다
9. isFullArray()/ increaseArry()
- 배열이 가득 차 있는지를 체크한다
- 동적으로 배열의 크기를 늘린다
10. toString()
- 상태 확인을 위한 출력 함수
2. Main.class