Java Deque 接口

您所在的位置:网站首页 dell7559usb接口 Java Deque 接口

Java Deque 接口

2024-07-13 12:52| 来源: 网络整理| 查看: 265

Java 方法重载Java PriorityQueue Java Deque 接口

在本教程中,我们将学习Deque接口,如何使用它及其方法。

Java集合框架的Deque接口提供了双端队列(Deque)的功能。它继承了Queue接口。

双端队列的工作原理

在常规队列中,元素是从后面添加的,而从前面删除的。但是,在双端队列中,我们可以从前后插入和删除元素。

实现Deque的类

为了使用Deque接口的功能,我们需要使用实现接口的类:

ArrayDeque

LinkedList

如何使用Deque?

在Java中,我们必须导入要使用Deque的包 java.util.Deque 。

Deque animal1 = new ArrayDeque(); Deque animal2 = new LinkedList();

在这里,我们分别创建了类ArrayDeque和LinkedList的对象animal1和animal2。 这些对象可以使用Deque接口的功能。

双端队列的方法

由于Deque继承了Queue接口,因此它继承了Queue接口的所有方法。

除了Queue接口中可用的方法之外,Deque界面还包括以下方法:

addFirst() - 在双端队列的开头添加指定的元素。如果双端队列已满,则引发异常。

addLast() - 在双端队列的末尾添加指定的元素。如果双端队列已满,则引发异常。

offerFirst() - 在双端队列的开头添加指定的元素。如果双端队列已满,则返回false。

offerLast() - 在双端队列的末尾添加指定的元素。如果双端队列已满,则返回false。

getFirst() - 返回双端队列的第一个元素。如果双端队列为空,则引发异常。

getLast() - 返回双端队列的最后一个元素。如果双端队列为空,则引发异常。

peekFirst() - 返回双端队列的第一个元素。如果双端队列为空,则返回null。

peekLast() - 返回双端队列的最后一个元素。如果双端队列为空,则返回null。

removeFirst() - 返回并删除双端队列的第一个元素。如果双端队列为空,则引发异常。

removeLast() - 返回并删除双端队列的最后一个元素。如果双端队列为空,则引发异常。

pollFirst() - 返回并删除双端队列的第一个元素。如果双端队列为空,则返回null。

pollLast() - 返回并删除双端队列的最后一个元素。如果双端队列为空,则返回null。

双端队列作为堆栈数据结构

Java Collections框架的Stack类提供了堆栈的实现。

但是,建议Deque用作堆栈而不是Stack类。这是因为Stack的方法是同步的。

以下是Deque接口提供的用于实现堆栈的方法:

push() - 在双端队列的开头添加元素

pop() - 从双端队列的开头删除元素

peek() - 从双端队列的开头返回一个元素

ArrayDeque类中Deque的实现import java.util.Deque; import java.util.ArrayDeque; class Main {     public static void main(String[] args) {         // 使用ArrayDeque类创建Deque          Deque numbers = new ArrayDeque();         //添加元素到Deque         numbers.offer(1);         numbers.offerLast(2);         numbers.offerFirst(3);         System.out.println("Deque: " + numbers);         //访问Deque的元素         int firstElement = numbers.peekFirst();         System.out.println("第一个元素: " + firstElement);         int lastElement = numbers.peekLast();         System.out.println("最后一个元素: " + lastElement);         //从Deque 移除元素         int removedNumber1 = numbers.pollFirst();         System.out.println("移除第一个元素: " + removedNumber1);         int removedNumber2 = numbers.pollLast();         System.out.println("移除最后一个元素: " + removedNumber2);         System.out.println("更新后的Deque: " + numbers);     } }

输出结果

Deque: [3, 1, 2] 第一个元素: 3 最后一个元素: 2 移除第一个元素: 3 移除最后一个元素: 2 更新后的Deque: [1]

要了解更多信息,请访问Java ArrayDeque。

Java 方法重载Java PriorityQueue


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3