DESKTOP-4LGG1I2_20200908-周拉才让

问题


        /**===以字符串形式右侧为头左侧为尾===========================*/
        deque.addFirst( "刘邦" ); //在队列尾部追加元素
        deque.addFirst( "刘恒" );
        deque.addFirst( "刘启" ); 
        deque.addFirst( "刘彻" );
        System.out.println( deque );
        
        
        deque.offerFirst( "刘弗陵" ); //在队列尾部追加元素
        deque.offerFirst( "刘病已" );
        
        

addFirst方法和offerFirst方法都是在队列尾部追加元素,这两种方法有什么区别呢?

解决

​ 二者的返回值类型不同。addFirst(E e)的返回值是void,而offerFirst(E e)的返回值是boolean,也就是说插入成功返回true,否则返回false

​ 也就是说当你用addFirst()向一个有容量有限制并且已经满了的队列里面插入元素的时候,会系统抛出异常。而用offerFirst()的时侯,你会获得返回值false

吐槽