• Deque中的方法:


    Deque成为双端队列,是Queue接口的子接口,具体实现类为LinkedList。

    Deque可以实现两种数据结构:

     若Deque规定从一端进出队列,可以看做栈;若从一端进队,从另一端出队,则可以看做队列。

    Deque中的主要方法有:

        1.Queue  Method:

    boolean:  add(E e)

      作用:将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功时返回 true,如果当前没有可用的空间,则抛出 IllegalStateException异常。

    boolean:  offer(E e)

      作用: 将指定的元素插入此队列(如果立即可行且不会违反容量限制),当使用有容量限制的队列时,此方法通常要优于 add(E),后者可能无法插入元素,而只是抛出一个异常。

    E       :  remove()                                            

    作用: 获取并移除此队列的头。此方法与 poll 唯一的不同在于:此队列为空时将抛出一个异常。

    E:          poll()

    作用:  获取并移除此队列的头,如果此队列为空,则返回 null。

    E:         element()

    作用:  获取,但是不移除此队列的头。此方法与 peek 唯一的不同在于:此队列为空时将抛出一个异常。

    E:   peek()

    作用:   获取但不移除此队列的头;如果此队列为空,则返回 null。

      2.  Stack  Method:

    void: push(E e);

    作用: 添加元素到栈顶

    E :pop();

    作用:返回栈顶元素并且删除栈顶元素。

    E: peek();

    作用:获取但是不删除栈顶元素。

    public class MethodOfDeque {
    
        public static void main(String[] args) {
            /*
             * Deque双端队列
             * 1.当从一端进从一端出,可以看做队列
             * 2.当从一端进出,可以看做栈
             */
            
            //Queue
            Deque<String> queue = new  LinkedList<String>(); 
            queue.add("a");
            queue.add("b");
            queue.add("c");
            queue.add("d");
            queue.add("e");
            queue.add("f");
            queue.add("g");
            queue.add("h");
            queue.offer("i");  //将指定的元素插入此队列,但是用容量有限的队列是,此法通常优于add(E).
            
            System.out.println(queue);//[a, b, c, d, e, f, g, h, i]
    
            //peek(); 返回但是不删除队列的头
            String s1 = queue.peek();
            System.out.println(s1+"---"+queue);  //  a---[a, b, c, d, e, f, g, h, i]
    
            //poll(); 获取并且删除队列的头
            s1 = queue.poll();
            System.out.println(s1+"---"+queue);//a---[b, c, d, e, f, g, h, i]
    
            //Stack
            Deque<String> stack = new LinkedList<String> ();
            stack.push("a");
            stack.push("b");
            stack.push("c");
            stack.push("d");
            System.out.println(stack);  //[d, c, b, a]   栈,先进后出
            
            String s2 = stack.peek();  //返回但是不删除栈顶元素
            System.out.println(s2+"---"+stack);   //d---[d, c, b, a]
            
            s2 = stack.pop();  //返回并且删除栈顶元素
            System.out.println(s2+"---"+stack);  //d---[c, b, a]
    
    
    
                
        }
    }
  • 相关阅读:
    vue ERROR:in ./sc/styles/index.scss and 4058
    vue cli 报错4048 解决方法
    原型 与 原型链
    Node.js的简介与历史
    javascript实现表单提交加密
    javaScript的关键字与保留字
    luogu P4422 题解
    【笔记】博弈论
    5.11 考试解题报告
    【P4370】[Code+#4]组合数问题2
  • 原文地址:https://www.cnblogs.com/iwwenbo/p/3351840.html
Copyright © 2020-2023  润新知