Java.util.ArrayDeque类

简介: 介绍所述java.util.ArrayDeque中类提供可调整大小的阵列,并实现的Deque接口。以下是Array Deques的重点数组deques没有容量限制,因此它们会根据需要增长以支持使用。

介绍

所述java.util.ArrayDeque中类提供可调整大小的阵列,并实现的Deque接口。以下是Array Deques的重点

  • 数组deques没有容量限制,因此它们会根据需要增长以支持使用。

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

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

  • 数组deques中禁止使用空元素。

  • 它们比Stack和LinkedList更快。

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

类声明

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

public class ArrayDeque<E>
   extends AbstractCollection<E>
   implements Deque<E>, Cloneable, Serializable

这里表示一个元素,可以是任何类。例如,如果您正在构建整数数组列表,那么您将其初始化为

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

类构造函数

Sr.No. 构造函数和描述
1

ArrayDeque()

此构造函数用于创建一个空数组deque,其初始容量足以容纳16个元素。

2

ArrayDeque(Collection <?extends E> c)

此构造函数用于创建包含指定集合的​​元素的双端队列。

3

ArrayDeque(int numElements)

此构造函数用于创建一个空数组deque,其初始容量足以容纳指定数量的元素。

类方法

Sr.No. 方法和描述
1 boolean add(E e))

此方法在此双端队列的末尾插入指定的元素。

2 void addFirst(E e)

此方法在此双端队列的前面插入指定的元素。

3 void addLast(E e)

此方法在此双端队列的末尾插入指定的元素。

4 void clear()

此方法从此双端队列中删除所有元素。

5 ArrayDeque <E> clone()

此方法返回此双端队列的副本。

6 boolean contains(Object o)

如果此双端队列包含指定的元素,则此方法返回true。

7 Iterator <E> descendingIterator()

此方法以反向顺序的顺序返回此双端队列中元素的迭代器。

8 E element())

此方法检索但不删除此双端队列表示的队列的头部。

9 E getFirst()

此方法检索但不删除此双端队列的第一个元素。

10 E getLast()

此方法检索但不删除此双端队列的最后一个元素。

11 boolean isEmpty()

如果此双端队列不包含任何元素,则此方法返回true。

12 Iterator iterator()

此方法返回此双端队列中元素的迭代器。

13 boolean offer(E e)

此方法在此双端队列的末尾插入指定的元素。

14 boolean offerFirst(E e)

此方法在此双端队列的前面插入指定的元素。

15 boolean offerLast(E e)

此方法在此双端队列的末尾插入指定的元素。

16 E peek()

此方法检索但不删除此双端队列表示的队列的头部,如果此双端队列为空,则返回null。

17 E peekFirst()

此方法检索但不删除此双端队列的第一个元素,如果此双端队列为空,则返回null。

18 E peekLast()

此方法检索但不删除此双端队列的最后一个元素,如果此双端队列为空,则返回null。

19 E poll()

此方法检索并删除此双端队列表示的队列的头部,如果此双端队列为空,则返回null。

20 E pollFirst()

此方法检索并删除此双端队列的第一个元素,如果此双端队列为空,则返回null。

21 E pollLast()

此方法检索并删除此双端队列的最后一个元素,如果此双端队列为空,则返回null。

22 E pop()

此方法从此双端队列表示的堆栈中弹出一个元素。

23 void push(E e)

此方法将元素推送到此双端队列表示的堆栈上。

24 E remove()

此方法检索并删除此双端队列表示的队列的头部。

25 boolean remove(Object o)

此方法从此双端队列中删除指定元素的单个实例。

26 E removeFirst()

此方法检索并删除此双端队列的第一个元素。

27 boolean removeFirstOccurrence(Object o)

此方法删除此双端队列中第一次出现的指定元素。

28 E removeLast()

此方法检索并删除此双端队列的最后一个元素。

29 boolean removeLastOccurrence(Object o)

此方法删除此双端队列中最后一次出现的指定元素。

30 int size()

此方法返回此双端队列中的元素数。

31 object [] toArray()

此方法以适当的顺序返回包含此双端队列中所有元素的数组。

目录
相关文章
|
1天前
|
Java 开发者
Java 面向对象编程实战:从类定义到对象应用,让你成为高手!
【6月更文挑战第15天】在Java中,掌握面向对象编程至关重要。通过创建`Book`类,展示了属性如`title`和`author`,以及构造方法和getter方法。实例化对象如`book1`和`book2`,并访问其属性。进一步扩展类,添加`pages`和`calculateReadingTime`方法,显示了类的可扩展性。在更大规模的项目中,如电商系统,可以定义`Product`、`User`和`Order`类,利用对象表示实体和它们的交互。实践是精通Java OOP的关键,不断学习和应用以提升技能。
|
1天前
|
Java 开发者
为什么 Java 的类和对象如此重要?看完这篇你就懂了!
【6月更文挑战第15天】在Java中,类和对象是核心概念。类作为蓝图定义数据(如角色的名称和健康值)和行为(如`takeDamage`方法),而对象是类的实例,允许交互(如战士受伤)。通过继承,如`Circle`和`Rectangle`扩展`Shape`类,实现多态性,增强代码灵活性。类和对象促进代码组织、复用和可维护性,是高效软件开发的基础。
|
1天前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name=&quot;Alice&quot;`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
|
1天前
|
Java
深入 Java 面向对象:类的定义,竟然藏着这么多门道!
【6月更文挑战第15天】Java中的类定义是OOP的基础,它封装属性(如Student的name和age)和行为(如study())。简单的类仅触及表面,而复杂的类可模拟真实世界对象的多样性和交互。类还可通过继承扩展,如Student从Person派生,增加特有属性和行为。接口和抽象类等概念进一步增强了灵活性和可扩展性。类定义的深度和广度是构建高效、可维护代码的关键。
|
1天前
|
Java
别再被 Java 类和对象绕晕了!一篇文章让你秒懂!
【6月更文挑战第15天】Java中的类是对象的模板,定义属性(如姓名、年龄)和行为(如走路、说话)。对象是类的实例,有自己的属性值。例如,`Person`类可创建`Person`对象,赋予属性值并调用方法。同样,`Car`类可创建不同品牌的汽车对象,每个对象能加速或刹车。理解类与对象的关系是Java面向对象编程的基础。
|
1天前
|
Java
Java 小白也能看懂!类和对象详解,轻松入门面向对象编程
【6月更文挑战第15天】面向对象编程对新手可能抽象,但理解Java中的类和对象是关键。类是事物模板,如“汽车”类包含属性(颜色、型号、速度)和行为(启动、加速、刹车)。对象是类的实例,像具体的汽车。通过创建对象并调用其方法,可以模拟现实世界的情景。例如,`Car myCar = new Car();`创建了一个汽车对象,之后可设置属性和调用方法。多练习有助于掌握这一概念。
|
1天前
|
Java
Java 面向对象编程:你真的懂类和对象吗?
【6月更文挑战第15天】Java的面向对象编程聚焦于类与对象。类是共享属性和行为的抽象,如`Person`类含名字和年龄。对象是类的具体实例,如`person1`和`person2`各有独特的属性值。设计类时要考虑扩展性,以便适应变化,如添加“性别”属性。对象管理涉及保持其状态和行为的正确性。继承允许类如`Student`扩展`Person`,增加新特性。理解面向对象不仅是创建和使用,更是关于设计和架构的智慧。
|
1天前
|
Java
震惊!原来 Java 的类是这样定义的,你还在等什么?
【6月更文挑战第15天】Java 中的类是对象的蓝图,定义了其属性(如 `name`, `age`)和行为(构造器、方法)。例如,`Student` 类展示了如何通过构造器初始化属性,并通过方法(`getName`, `getAge`)访问这些属性。类的使用促进代码模块化、可维护性和扩展性,允许创建具有相同特征的多个对象,适应不断变化的需求。掌握类定义是提升Java编程能力的基础。
|
2天前
|
安全 Java 数据安全/隐私保护
深入理解java中Unsafe类及其实现原理
深入理解java中Unsafe类及其实现原理
5 0
|
2天前
|
存储 安全 Java
滚雪球学Java(60):深入解析Java中的Vector集合类!
【6月更文挑战第14天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
137 59
滚雪球学Java(60):深入解析Java中的Vector集合类!