λ±(Deque)μ΄λ?
μμͺ½ λμμ μ½μ κ³Ό μμ κ° κ°λ₯ν μλ£κ΅¬μ‘°μ΄λ€.
μ μ μ μΆ(FIFO), νμ μ μΆ(LIFO) κ°λ μ΄ λͺ¨λ μ μ©μ΄ λλ μλ£κ΅¬μ‘°μ΄λ€.
Javaμμ Dequeμ java.util.Deque μΈν°νμ΄μ€λ₯Ό μ΄μ©ν΄ ꡬνν μ μλ€.
μ₯μ
λ°μ΄ν°μ μ½μ & μμ κ° λΉ λ¦
ν¬κΈ°κ° κ°λ³μ μ
λ°μ΄ν°λ₯Ό μλ€μμ μ½μ & μμ ν μ μμ
indexλ‘ μμ μμ μ κ·Όμ΄ κ°λ₯ν¨
λ¨μ
dequeμ μ€κ°μμμ μ½μ κ³Ό μμ κ° μ΄λ ΅λ€.
μ¬μ©λ²
Deque κ°μ²΄ μμ±
//import java.util.Deque;
//import java.util.LinkedList;
Deque<Integer> deque = new LinkedList<>();
μ λΆλΆμ κ° μΆκ°νκΈ°
deque.addFirst(1);
deque.offerFirst(2);
// [2, 1]
λ· λΆλΆμ κ° μΆκ°νκΈ°
deque.addLast(1);
deque.add(2);
deque.offerLast(3);
deque.offer(4);
[1, 2, 3, 4]
addμ offer λ©μλμ μ°¨μ΄
add : illegalStateExceptionμ λ°μμν¨λ€.
offer : νκ° κ°λμ°¨μ λ μ΄μ μΆκ°ν μ μλ κ²½μ° falseλ₯Ό λ°ννκ³ , μμκ° μΆκ°λλ©΄ trueλ₯Ό λ°ννλ©° νΉμ μμΈλ₯Ό throwνμ§ μλλ€.
μ λΆλΆ κ° μμ νκΈ°
for(int i=1;i<=5;i++) {
deque.offer(i);
}
// [1, 2, 3, 4, 5]
deque.remove();
deque.removeFirst();
deque.pollFirst();
deque.poll();
// [5]
λ· λΆλΆ κ° μμ νκΈ°
for(int i=1;i<=5;i++) {
deque.offer(i);
}
// [1, 2, 3, 4, 5]
deque.removeLast();
deque.pollLast();
// [1, 2, 3]
removeμ poll λ©μλμ μ°¨μ΄
remove : λΉμ΄μμ λ μμ νλ©΄ μμΈ λ°μ
poll : λΉμ΄μμ λ μμ νλ©΄ null λ°ν
μ λΆλΆ κ° κ°μ Έμ€κΈ° (μ½κΈ°)
for (int i = 1; i <= 5; i++) {
deque.offer(i);
}
// [1, 2, 3, 4, 5]
int num1 = deque.getFirst(); // 1
int num2 = deque.peekFirst(); // 1
int num3 = deque.peek(); // 1
λ· λΆλΆ κ° κ°μ Έμ€κΈ° (μ½κΈ°)
for (int i = 1; i <= 5; i++) {
deque.offer(i);
}
// [1, 2, 3, 4, 5]
int num1 = deque.getLast(); // 5
int num2 = deque.peekLast(); // 5
getκ³Ό peek λ©μλμ μ°¨μ΄
get : ν΄λΉ κ°μ returnνκ³ μ€ν¨ μ Exceptionμ λ°μ
peek : ν΄λΉκ°μ returnνκ³ μ€ν¨μ nullμ returnνλ€.
μ°Έμ‘°
https://velog.io/@esun1903/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-Deque
[μλ£κ΅¬μ‘°] Deque(λ±,λ°ν¬)
μλ£κ΅¬μ‘°μ μ’ λ₯ μ€ νλμΈ λ±μ λν΄ μμλ³΄κ³ , λ¬Έμ μ μ μ©ν΄λ³΄μμ. π©π»π» Deque π λͺ©μ°¨ βDeque μ μ ππ»βοΈ Deque λ΄μ₯ ν¨μ β¨ λ¬Έμ μ μ μ©ν΄λ³΄κΈ° μ°μ , μ΄ λΈλ‘κ·Έλ₯Ό 보면μ 곡λΆ
velog.io
https://adjh54.tistory.com/135#4)%20%EB%8D%B1(deque)-1
[Java/μλ£κ΅¬μ‘°λ‘ ] μ νꡬ쑰 μ΄ν΄νκΈ° -1 : ν(Queue), μ€ν(Stack), λ±(Deque)
ν΄λΉ κΈμμλ μλ£κ΅¬μ‘°λ‘ μ€ μ ν κ΅¬μ‘°μΈ ν(Queue)μ μ€ν(Stack), λ±(Deque)μ λν΄μ μ΄ν΄νκ³ μΈμ μ¬μ©νλ©° κ°κ°μ μ₯λ¨μ μ΄ λ¬΄μμΈμ§μ λν΄ μμ보기 μν κΈμ λλ€. 1) μ ν ꡬ쑰(Linear Structure
adjh54.tistory.com
'π°ππππππππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ½λ©ν μ€νΈ μ€λΉ] 2023λ 8μ μ μ§Έμ£Ό (0) | 2023.08.19 |
---|