7강. Array List 개념
리스트 만들 때 '배열' 부품을 사용하는 것
- 리스트와 배열은 굉장히 친한 사이
cf) Linked List는 배열 말고 다른 방법을 사용함
// 데이터 추가 시,
데이터 엘리먼트들이 뒤로 밀린다는게 포인트
// 데이터 삭제 시
삭제하면 앞으로 한 칸씩 당긴다는게 포인트
-> 단점 : 시간이 많이 든다.
// 장점 : 데이터 가지고 올 때
index를 통해서 데이터를 가지고 와서 굉장히! 빠르다.
index를 통해 확! 가지고 오면 됨
8강. ArrayList - Java API 사용법
cf) generic.
ex) <Integer> : 숫자만 사용하겠다~ 는 것
만약 index 1에 50 값을 넣어주고 싶다면?
-> 빈 공간을 확보해야 함
// 데이터를 삭제해보자
// 데이터를 가지고 와보자
// 리스트 안에 몇 개가 있는지를 확인해보자
반복
nubers는 Array List 객체임
- 이 안에 iteratior() 메소드를 지금 호출하고 있는 것
-> 값을 호출할건데 it라고 해줄거고(담아줄거고), 그 타입은 Iteration 데이터 타입이라는 것
it.hasNext
- 다음 엘리먼트가 있느냐고 묻는 것
// for문으로 해보자
numbers 안에 담긴 엘리먼트들을 하나하나씩 꺼내서 value로 사용하겠다는 형태
- numbers라고 하는 Array List의 interator() 메소드를 호출해서 / it라고 하는 Iterator 데이터 타입의 변수 객체를 만듦
- it가 hasNext. 가져올 엘리먼트가 있는지를 체크해서
- int형으로 value에 담음 (Object 데이터 타입으로 저장되기에 int로)
위에 함수도 generic으로 Iterator it <Integer> 이렇게 해주는게 자바스러움
- 리턴한 값이 30이라면 remove 하겠다는
출처 : 생활코딩 Data Structure 49강 (7, 8강)
Doubly Linked List (이중 연결 리스트) (0) | 2021.06.07 |
---|---|
Linked List (0) | 2021.06.06 |
List (0) | 2021.06.06 |
배열(Array) (0) | 2021.06.06 |
자료구조란? (feat. 자료구조의 필요성) (2) | 2021.06.06 |