Data Structure - GitDeveloperKim/DreamEach GitHub Wiki
push : 맨 마지막 위치에 원소를 넣는다.
pop : 맨 마지막 위치의 원소를 반환한다.
public static Stack stack = new Stack<>(); // declare
stack.isEmpty() // 스택이 비어있는지 확인
stack.pop() // 스택의 끝을 꺼내 반환
stack.size() // 스택 크기 반환
stack.peek() // 스택을 꺼내지 않고 끝점 확인
stack.push(x); // 스택에 integer x 푸쉬
Queue q = new LinkedList();
q.add(1);
while(!q.isEmpty) {
int temp = q.poll();
}
- TBD
- 0-1 bfs에 응용
- add, put, offer : deque의 first, last 요소 삽입
- addFirst(E e)
- addLast (E e)
- poll() : 제일 앞의 요소를 반환 받고, 요소 제거
- pollFirst()
- pollLast()
- peek() : 제일 앞 요소를 반환 받고 요소를 제거하지 않는다
- peekFirst()
- peekLast()
- get : First, Last에 있는 요소를 반환 받고 요소를 제거하지 않는다
- getFirst()
- getLast()
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.LinkedList;
public class Test {
public static void main(String[] args) {
Deque deque1 = new ArrayDeque<>();
Deque deque2 = new LinkedList<>();
}
}
- 참고 click
- 힙이란? click
- HashSet
- 중복된 값을 허용하지 않는다
- 순서를 보장하지 않는다
- null 값을 저장할 수 있다
- 내부적으로 HashMap을 사용하여 데이터 저장
- add()
- remove()
- size()
- boolean contains(Object o)
- isEmpty()
- iterator
- HashMap
- key와 value의 쌍으로 이루어진 데이터 보관
- null key와 null value 모두 허용
- 내부적으로 데이터에 접근할 때 동기화를 보장하지 않는다
- 데이터의 순서를 보장하지 않는다
- 중복된 key 값을 허용하지 않지만, 중복된 값은 가질 수 있다
- 속도가 O(1)로 매우빠르지만 순서가 필요한 경우에 TreeMap을 사용한다 (key기준 정렬) refer
- put(key, value) // 입력
- get(key) // 출력
- remove()
- isEmpty()
- keySet() : set 객체로 리턴
- values() : value를 Collection 객체로 리턴
- containsKey(key) : key가 존재하면 true 아니면 false
- containsValue(value) : value가 존재하면 true 아니면 false
- replace(k, v) : key의 value 인자로 전달된 value로 교체