Java中的双端队列接口

java.util.Deque接口是java.util.Queue接口的子类型,它支持两端元素的插入和删除。

接口声明

public interface Deque<E>

extends Queue<E>

ArrayDeque类别

java.util.ArrayDeque中类提供可调整大小的数组,并实现的Deque接口。以下是关于数组双端队列的要点-

  • 数组双端队列没有容量限制,因此可以根据需要增加以支持使用。

  • 它们不是线程安全的。在没有外部同步的情况下。

  • 它们不支持多个线程的并发访问。

  • 数组双端队列中禁止使用空元素。

  • 它们比Stack和LinkedList快。

此类及其迭代器实现Collection和Iterator接口的所有可选方法。

类声明

以下是java.util.ArrayDeque类的声明-

public class ArrayDeque<E>

extends AbstractCollection<E>

implements Deque<E>, Cloneable, Serializable

这里<E>表示一个Element,可以是任何类。例如,如果要构建整数数组列表,则将其初始化为-

ArrayList<Integer> list = new ArrayList<Integer>();

类的构造函数

序号构造函数与说明
1ArrayDeque()
此构造函数用于创建一个空数组双端队列,其初始容量足以容纳16个元素。
2ArrayDeque(Collection <?extended E> c)
此构造函数用于创建一个包含指定集合元素的双端队列。
3ArrayDeque(int numElements)
此构造函数用于创建一个空数组双端队列,其初始容量足以容纳指定数量的元素。

示例

import java.util.ArrayDeque;

import java.util.Deque;

public class Tester {

   public static void main(String[] args) {

      //创建一个具有初始容量的空数组双端队列

      Deque<Integer> deque = new ArrayDeque<Integer>(5);

      // use add() method to add elements in the deque

      deque.add(20);

      deque.add(30);

      deque.add(20);

      deque.add(30);

      deque.add(15);

      deque.add(22);

      deque.add(11);

      //让我们打印出双端队列中所有可用的元素

      for (Integer number : deque) {

         System.out.println("Number = " + number);

      }

      // getFirst() will retrieve element at first position

      int first = deque.getFirst();

      System.out.println("Retrieved Element is = " + first);

      // getLast() will retrieve element at last position

      int last = deque.getLast();

      System.out.println("Retrieved Element is = " + last);

   }

}

输出结果

Number = 20

Number = 30

Number = 20

Number = 30

Number = 15

Number = 22

Number = 11

Retrieved Element is = 20

Retrieved Element is = 11

以上是 Java中的双端队列接口 的全部内容, 来源链接: utcz.com/z/316132.html

回到顶部