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.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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 学习 Linux 是我们的爱情语言
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树