91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中Stack與Queue的示例分析

發布時間:2021-05-11 14:54:35 來源:億速云 閱讀:164 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Java中Stack與Queue的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

java基本數據類型有哪些

Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。

一、Stack

Java中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


    }
}

二、Queue

由于Queue只是個接口,因此沒有構造方法

Java中Stack與Queue的示例分析

從這里可以看到Queue從Collection中繼承了add,remove等方法,但是我們應該盡量使用offer替換add,使用poll來替換remove

使用Queue特有的方法offer,poll的好處是可以通過判斷返回值判斷操作是否成功完成,而add,remove則會在失敗時拋出異常

Java中Stack與Queue的示例分析

示例:

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]
        
    }
}

示例:十進制轉二進制

因為十進制轉二進制是每次模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]
        
    }
}

Java中Stack與Queue的示例分析

Queue是單隊列,Deque是雙向隊列,根據需要使用。

感謝各位的閱讀!關于“Java中Stack與Queue的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永丰县| 行唐县| 靖西县| 平顶山市| 江陵县| 昌平区| 乌海市| 故城县| 岫岩| 思茅市| 兴文县| 莱芜市| 肃宁县| 西畴县| 阳城县| 五原县| 当阳市| 高碑店市| 彝良县| 逊克县| 十堰市| 凉山| 松原市| 乐山市| 大厂| 新余市| 灵寿县| 满洲里市| 兰考县| 周口市| 凌云县| 平塘县| 富平县| 山东| 南华县| 赤水市| 汉源县| 广水市| 乡宁县| 开江县| 盐城市|