자바 Stack 과 Queue 상세 설명
예시:
package StackPack;
import java.util.Stack;
public class StackDemo {
public static void main(String[] args) {
Stack<Integer> stack=new Stack<>();
for(int i=0;i<10;i++)
{
stack.push(i*2);
}
//[0, 2, 3, 4, 6, 8, 12, 14, 16, 18]
System.out.println(stack.peek()); //18
System.out.println(stack.search(14)); // 1 ,
// , 3
while(!stack.isEmpty())
{
System.out.print(stack.pop()+"\t");
}
System.out.println();
System.out.println(stack.search(1)); // , -1
}
}
2.큐Queue 는 인터페이스 일 뿐 구조 방법 이 없습니다.
여기 서 Queue 가 Collection 에서
add
,remove
등 방법 을 계승 한 것 을 볼 수 있 지만,우 리 는 가능 한 한offer
교체add
,poll
로 교체remove
해 야 한다.Queue 특유 의 방법
offer
을 사용 하면poll
반환 값 을 판단 하여 작업 의 성공 여 부 를 판단 할 수 있 고add
,remove
실패 시 이상 을 던 질 수 있다 는 장점 이 있다.예시:
package QueuePack;
import java.util.*;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue=new ArrayDeque<>();
for(int i=0;i<10;i++)
{
queue.offer(i*2);
}
Iterator<Integer> it=queue.iterator();
while(it.hasNext())
{
System.out.print(it.next()+"\t"); //0 2 4 6 8 10 12 14 16 18
}
System.out.println();
System.out.println(queue.peek()); //0
System.out.println(queue.poll()); //0, [2,4,6,8,10,12,14,16,18]
}
}
예제:10 진 2 진10 진 바 이 너 리 는 매번 모드 2 에서 num=0 까지 나머지 를 취하 고 나머지 를 반전 시 키 면 전환 되 는 결과 이기 때문에 양 방향 대기 열 Deque 를 이용 할 수 있 습 니 다.
코드
package QueuePack;
import java.util.*;
public class QueueDemo {
public static void main(String[] args) {
Queue<Integer> queue=new ArrayDeque<>();
for(int i=0;i<10;i++)
{
queue.offer(i*2);
}
Iterator<Integer> it=queue.iterator();
while(it.hasNext())
{
System.out.print(it.next()+"\t"); //0 2 4 6 8 10 12 14 16 18
}
System.out.println();
System.out.println(queue.peek()); //0
System.out.println(queue.poll()); //0, [2,4,6,8,10,12,14,16,18]
}
}
Queue 는 단일 대기 열 이 고 Deque 는 양 방향 대기 열 이 며 필요 에 따라 사용 합 니 다.
PS:이것 은 학습 노트 입 니 다.잘못 이 있 으 면 친절하게 지적 해 주 십시오.감사합니다.
자바 Stack 과 Queue 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 자바 Stack 과 Queue 에 관 한 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.