이번 목표: List datastructure를 배열을 이용하여 어떻게 만들 것인가?
이클립스에서 list.arraylist.implementation package를 만들고, class를 두개 만들어 줬다.
1. public static void main(String[] args)가 들어있는 Main class
> 이 클래스에서 ArrayList를 실행해보자.
2. ArrayList class (여기는 public static void main(String[] args)를 안넣었다.)
> ArrayList객체를 여기에 구현해보자.
Main에 들어가서 ArrayList객체를 생성한다.
숫자들을 요소로 하는 리스트를 만드려고 한다. 이름을 numbers라고 해주자
>>지금 내가 생성한 ArrayList.java파일에 class를 인스턴스화 시킨 것임.
그다음에는 ArrayList.java로 넘어가서..
내부적으로 사용할 배열을 만들어야 한다. elementData라고 배열을 만들자.
(++ArrayList는 Array를 내부적으로 사용하기에 ArrayList자낭~!)
내부적으로 이용할 거기 때문에 외부에서는 노출되지 않도록 접근자를 private로 써주고,
객체는 Object객체를 사용할 거다.
(다른 좋은 방법도 많지만, 지금은 가장 이해하기 쉬운 Object객체를 사용할 거라고 한다.)
(+우리가 만드는 이 ArrayList는 실제 컬렉션프레임워크에 있는 ArrayList보다는 기능성 부족
ㄴ내부적으로 사용되는 배열이 '고정된 크기를 갖는다'는 것이 한계. ex 100개만설정
ㄴ둘 다 내부적으로 똑같이 배열을 쓰지만, 데이터가 많아지면 자동으로 커지도록 코딩이 되어있다고 함
4번째 줄의 private int size = 0;은 0개의 데이터가 List안에 들어 있다고 0부터 출발해주는 것임.
다음 시간에는 ArrayList에 데이터 추가하기를 해 보겠다.
'자료구조 + 알고리즘' 카테고리의 다른 글
[자료구조] ArrayList 구현 - add/addFirst, 데이터를 중간/처음에 추가 [Java] (0) | 2020.03.12 |
---|---|
[자료구조] ArrayList 구현 - addLast, 데이터를 끝에 추가 [Java] (0) | 2020.03.11 |
[자료구조] Array List [JAVA] (0) | 2020.03.09 |
[자료구조] List 리스트 [JAVA] (0) | 2020.03.08 |
[자료구조] Array 배열 [JAVA] (0) | 2020.03.08 |