Java PriorityQueue
1 什么是Java Queue接口
Java Queue接口以FIFO(先进先出)的方式对元素进行排序。在FIFO中,首先删除第一个元素,最后删除最后一个元素。
2 Java Queue接口的语法
public interface Queue<E> extends Collection<E>
3 Java Queue接口的方法
方法 | 描述 |
---|---|
boolean add(object) | 用于将指定的元素插入队列中,并在成功后返回true。 |
boolean offer(object) | 用于将指定的元素插入队列。 |
Object remove() | 用于检索和删除队列的头部。 |
Object poll() | 用于检索和删除队列的开头,如果队列为空,则返回null。 |
Object element() | 用于检索但不删除队列的头部。 |
Object peek() | 用于检索但不删除此队列的头部,如果此队列为空,则返回null。 |
void clear() | 删除队列的所有元素。 |
Comparator<? super E> comparator() | 此方法返回用于对队列中的元素进行排序的比较器;如果此队列是根据其元素的自然顺序排序的,则返回null。 |
boolean contains(Object o) | 如果此队列包含指定的元素,则此方法返回true。 |
Iterator<E> iterator() | 方法在此队列中的元素上返回迭代器。 |
int size() | 方法返回此集合中的元素数。 |
Object[] toArray() | 方法返回一个包含此队列中所有元素的数组。 |
<T> T[] toArray(T[] a) | 方法返回一个包含此队列中所有元素的数组。返回数组的运行时类型是指定数组的运行时类型。 |
4 什么是Java PriorityQueue
PriorityQueue类提供使用队列的便利。但是它不会以FIFO方式对元素进行排序。它继承了AbstractQueue类。
5 Java PriorityQueue的语法
public class PriorityQueue<E> extends AbstractQueue<E> implements Serializable
6 Java PriorityQueue的例子
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java PriorityQueue的例子
*/
import java.util.*;
class Demo{
public static void main(String args[]){
PriorityQueue<String> queue=new PriorityQueue<String>();
queue.add("Eric");
queue.add("Jack");
queue.add("Rose");
queue.add("Paul");
queue.add("Macy");
System.out.println("head:"+queue.element());
System.out.println("head:"+queue.peek());
System.out.println("遍历队列的元素:");
Iterator itr=queue.iterator();
while(itr.hasNext()){
System.out.println(itr.next());
}
queue.remove();
queue.poll();
System.out.println("移除两个元素后:");
Iterator<String> itr2=queue.iterator();
while(itr2.hasNext()){
System.out.println(itr2.next());
}
}
}
输出结果为:
head:Eric
head:Eric
遍历队列的元素:
Eric
Jack
Rose
Paul
Macy
移除两个元素后:
Macy
Paul
Rose
热门文章
优秀文章