자바 Stack 과 Queue 상세 설명

3529 단어 JavaStackQueue
1.스 택
在这里插入图片描述
예시:

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 에 관 한 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 읽 어 주시 기 바 랍 니 다.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기