您的位置:首页 > 产品设计 > UI/UE

Java类-ArrayDeque学习

2015-12-05 17:25 525 查看
java.lang.Object

  继承者 java.util.AbstractCollection<E>

      继承者 java.util.ArrayDeque<E>
实现
Serializeable,Cloneable,Iterable<E>,Collection<E,Deque<E>,Queue<E>

ArrayDeque

数组双端队列没有容量限制;它们可根据需要增加以支持使用.

是线程不安全的。

在没有外部同步时,它们不支持多个线程的并发访问。禁止 null 元素。此类很可能在用作堆栈时快于 Stack,在用作队列时快于 LinkedList。

常用的方法:

插入 位置 返回值
是否移除 异常

add(e) 第1个
boolean 不移除
NullPointerException

offer(e) 第1个
boolean 不移除
NullPointerException 

addFirst(e) 第1个
void 不移除
NullPointerException 

addLast(e) 末1个
void 不移除
NullPointerException

offerFirst(e) 第1个
boolean 不移除
NullPointerException

OfferLast(e) 末1个
boolean 不移除
NullPointerException

push(e) 栈顶
void 不移除
NullPointerException

获取

getFirst() 第1个
E 不移除
NoSuchElementException

getLast() 末1个
E 不移除 NoSuchElementException

peek() 第1个
E 不移除 为空 返回null

peekFirst() 第1个
E 不移除
为空 返回null

peekLast() 末1个
E 不移除
为空 返回null

poll() 第1个
E 移除 为空 返回null

pollFirst() 第1个
E 移除
为空 返回null

pollLast() 末1个
E 移除
为空 返回null

pop() 栈顶
E 移除 NoSuchElementException

element() 第1个
E 不移除 NoSuchElementException 

size() int
此双端队列中的元素数

isEmpty() boolean
如果此双端队列未包含任何元素,则返回 true

contains(o) boolean
不移除 如果此双端队列包含指定的元素,则返回 true。

iterator() Iterator
不移除 在此双端队列的元素上进行迭代的迭代器

descendingIterator() Iterator
不移除 以逆向顺序在此双端队列中的元素上进行迭代的迭代器

clear() void
移除 从此双端队列中移除所有元素

移除

remove() 第1个
E 移除 NoSuchElementException

remove(o) boolean
移除 如果此双端队列包含指定元素,则返回 true

removeFirst() 第1个
E 移除
NoSuchElementException

removeFirstOccurrence(O)第1次 boolean
移除 如果双端队列包含指定元素,则返回 true

remmoveLast() 末1个
E 移除
NoSuchElementException

removeLastOccurrence(0) 末1次
boolean 移除
如果双端队列包含指定元素,则返回 true

Object[] toArray() 返回一个以恰当顺序包含此双端队列所有元素的数组

<T> T[] toArray(T[] a) 返回一个以恰当顺序包含此双端队列所有元素的数组(从第一个元素到最后一个元素)

ArrayDeque<E> clone 返回此双端队列的副本。

import java.util.ArrayDeque;
import java.util.Iterator;
class ArrayDequeTest
{
public static void main(String[] args)
{
ArrayDeque<String> ad = new ArrayDeque<String>();
ad.offer("1");
ad.offer("2");
ad.offer("3");
ad.offer("4");
ad.offer("5");
//ad.offer("6");
//ad.offerFirst("3");
//ad.remove();//移除第一个元素,并且以参数返回该对象
//ad.removeFirstOccurrence("3");//移除第一次出现的该对象 成功返回true
//System.out.println(ad.getFirst());//getFirst()返回第一个对象,不移除
//System.out.println(ad.pop());//pop() 返回第一个对象,移除
//System.out.println(ad.peek());//peek() 返回第一个对象,不移除
//System.ou
a065
t.println(ad.poll());//poll() 返回第一个对象,移除
//System.out.println(ad.pollLast());//pollLast() 返回最后一个对象,移除
//System.out.println(ad.element());//element() 返回第一个对象,不移除
Iterator<String> iterator = ad.iterator();
while(iterator.hasNext())
System.out.println(iterator.next());
//sop(ad.getFirst());
String[] strs = ad.toArray(new String[ad.size()]);
for(int i =0; i < strs.length; i++){
sop(strs[i]);
}
}

public static void sop(Object o){
System.out.println(o);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 学习 ArrayDeque