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๋ก ๊ต์ฒด