public abstract class AbstractQueue<E> extends AbstractCollection<E> implements Queue<E>
这个抽象类继承自AbstractCollection类 实现Queue接口
protected AbstractQueue() {
}
无参构造方法 protected修饰
public boolean add(E e) {
if (offer(e))
return true;
else
throw new IllegalStateException("Queue full");
}
add方法 就是调用offer方法 如果offer返回true 就返回true 否则抛出异常
public E remove() {
E x = poll();
if (x != null)
return x;
else
throw new NoSuchElementException();
}
remove方法
调用poll方法 判断返回值不为空 就返回poll方法的返回值 否则抛出异常
public E element() {
E x = peek();
if (x != null)
return x;
else
throw new NoSuchElementException();
}
element方法和remove方法类似 不多说了
public void clear() {
while (poll() != null)
;
}
clear方法 一直调用poll
public boolean addAll(Collection<? extends E> c) {
if (c == null)
throw new NullPointerException();
if (c == this)
throw new IllegalArgumentException();
boolean modified = false;
for (E e : c)
if (add(e))
modified = true;
return modified;
}
addAll方法 将参数集合的所有元素添加进去
判断如果参数为空 抛出异常
如果参数就是本身 抛出异常
定义临时变量modified代表是否被修改 初始为false
遍历参数集合 调用add方法 如果add方法返回true 就将modified设为true 最后返回modified
这个抽象类继承自AbstractCollection类 实现Queue接口
protected AbstractQueue() {
}
无参构造方法 protected修饰
public boolean add(E e) {
if (offer(e))
return true;
else
throw new IllegalStateException("Queue full");
}
add方法 就是调用offer方法 如果offer返回true 就返回true 否则抛出异常
public E remove() {
E x = poll();
if (x != null)
return x;
else
throw new NoSuchElementException();
}
remove方法
调用poll方法 判断返回值不为空 就返回poll方法的返回值 否则抛出异常
public E element() {
E x = peek();
if (x != null)
return x;
else
throw new NoSuchElementException();
}
element方法和remove方法类似 不多说了
public void clear() {
while (poll() != null)
;
}
clear方法 一直调用poll
public boolean addAll(Collection<? extends E> c) {
if (c == null)
throw new NullPointerException();
if (c == this)
throw new IllegalArgumentException();
boolean modified = false;
for (E e : c)
if (add(e))
modified = true;
return modified;
}
addAll方法 将参数集合的所有元素添加进去
判断如果参数为空 抛出异常
如果参数就是本身 抛出异常
定义临时变量modified代表是否被修改 初始为false
遍历参数集合 调用add方法 如果add方法返回true 就将modified设为true 最后返回modified