List 와 ArrayList 차이 : List의 자식 vector,arrayList 라든지, 자식들이 다 올 수 있다.
만약, arrayList로 만들었는데, vector로 바꿔야 한다면, 부모자식인 List로 만들어준다면, 나머지는 문제 없이 사용할 수가 있다.
JDBC - Table과 연결
◐arrayList :단일쓰레드 = ArrayListExam01
◐vector : 멀티쓰레드 = VectorExam
◐LinkedList
LinkedList = 손에 손을 맞잡는다.
#
list안에 각 index 는 값을 담고 있는 것이 아니라, 주소를 담고 있다.
#
링크드리스트
장점
(앞에 다찾아가바야한다.)검색을 할떄는 느지만, 추가삭제는 빠르다
추가하고 삭제할떄, 중간점만 끊어버리고, 뒤쪽이나, 그런내용이 바꿀필요가없다.
어레리스트
검색빠르다, 추가삭제할떄는 느리다.
#
큐 = 링크드리스트
스택 = 배열
#
링크드리스트 = 어레이 리스트 방법이 똑같다.
6. Stack
- LIFO(Last In First Out) : 가장 마지막에 저장한 데이터가 가장 먼저 꺼내는 것
- 팬케잌, 접시쌓아 놓고 사용하기....
- 수식계산, 수식괄호검사, 워드프로세서 undo/redo, 웹브라우저의 뒤로/앞으로
- ArrayList
- push(저장), pop(추출)
boolean empty() : Stack이 비어 있는지 알려주기
Object peek() : Stack의 맨 위에 저장된 객체를 반환
pop()스택에서 자료를 꺼내는 것이라면
peek()은 객체를 꺼내는 것이 아니라 확인만
Object pop() : Stack에서 맨 위의 저장된 객체를 꺼낸다
Object push(Object item) : Stack에 객체를 저장
그 외에는 책을 참조
7. Queue(LinkedList가 리스트를 구현해준다)
- FIFO(First In First Out) : 먼저 저장된 데이터가 가장 먼저 처리
- 은행 대기표, 최근 사용문서, 인쇄작업 대기 목록, 버퍼(buffer)
- LinkedList
- offer(저장), poll(데이터 추출)
boolean add(Object o) : 지정된 객체를 Queue에 추가
성공하면 true를 반환
Objcet remove() : Queue에서 객체를 꺼내 반환, 비어 있으면 예외 발생
Object element() : 삭제없이 요소를 읽어옴
Object offer(Object o) : Queue에 객체를 저장
Object poll() : Queue에서 객체를 꺼내서 반환, 비어 있으면 null 반환
Object peek() : 삭제없이 요소를 읽어 옴, 비어 있으면 null 반환
◐스택의 구조
Iterable(인터페이스) > 상속받은 것이 collection(인터페이스) > 상속받은 것이 List(인터페이스)
> arrayList(class) - implement
> vector - implement > stack - extend
#list
pop, push가 없다.
그래서 statck은 statck으로 구현해야한다.
#Queue
입력과 출력이 따로있는것 .(먼저집어넣은것이 먼저나온다.) FIFO
offer : 집어넣는것
poll : 꺼내는 것
iterable
> extends
collection
>extends
Queue
>extend
deakue데크?
>implement
linkedlist( list와 데크로 구현한다. 큐가 인터페이스라보니깐 이런현상이 생겼다.)
#스택
push :저장
pop : 꺼내는것
peak : 엮어놓는것?
스택 : 막혀있다.
큐 : 뚤려있다.(은행대기표, 받는 순서대로 일처리)
'1. JAVA > 3). 자바_개념' 카테고리의 다른 글
자바_개념_Day_32 (0) | 2024.02.15 |
---|---|
자바_개념_Day_31 (2) | 2024.02.14 |
자바_개념_Day_30 (0) | 2024.02.13 |
자바_개념_Day_29 (1) | 2024.02.08 |
자바_개념_Day_27 (1) | 2024.02.06 |