Java类-ArrayDeque学习

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.out.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);
	}
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值