队列接口是 util.java 包的成员。它是集合框架的一部分,用于扩展集合接口。由于集合接口是主接口,所以队列接口包含了它的所有方法。队列是 FIFO(先进先出)数据结构。队列表示一种数据结构,其实现方式使得元素可以插入到顺序中的最后一个位置。在队列中,最先插入队列的项目将首先被取出。 java中的Queue是一个接口;因此,它不能被实例化。 Queue接口主要由两个类实现,即LinkedList和PriorityQueue。它是一个有序的对象序列,类似于 java 列表。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
在以下语法中,使用 LinkedList / PriorityQueue 类实例化对象 obj。在下面的两个 Queue 语法中,LinkedList 实现是标准的。
Queue qObj = new LinkedList();
或
Queue qObj = new PriorityQueue();
可以使用以下给定语法创建具有受限数据类型的队列实例。
Queue<String> q = new LinkedList<String>();
下面给出队列接口的一些常用方法
下面是实现java队列接口的示例:
此示例展示了程序中如何使用不同的方法以及这些方法返回的内容。
代码:
//importing packages import java.util.*; public class QueueInterfaceExample { public static void main(String[] args){ Queue qObj = new LinkedList(); //adding element to the queue qObj.add("Action"); qObj.add("speak"); qObj.add("louder"); qObj.add("than"); qObj.add("Words"); //items available in the queue System.out.println("\nTotal item count in Queue: " + qObj.size()); //printing queue here System.out.println("\nItems in Queue: " + qObj); //printing the head element of the queue System.out.println("\nHead item of the Queue: " + qObj.element()); //removing head element from the queue qObj.remove(); //items available in the queue System.out.println("\nAvailable item in Queue: " + qObj); //items available in the queue after applying peek method System.out.println("\nHead item of the Queue: " + qObj.peek()); //applying the poll method to the qObj.poll(); //items available in the queue after applying poll method System.out.println("\nAvailable item in Queue: " + qObj); } }
输出:
在这个例子中,我们可以看到如何将受限类型的元素添加到队列中。
代码:
//importing package here import java.util.*; public class QueueInterfaceExample2 { public static void main(String[] args){ //initialize a Queue using a LinkedList Queue<Integer> qObj = new LinkedList<>(); //adding element to the queue qObj.add(50); qObj.add(175); qObj.add(1450); qObj.add(2750); qObj.add(10250); //items available in the queue System.out.println("\nTotal item count in Queue: " + qObj.size()); //printing queue here System.out.println("\nItems in Queue: " + qObj); //items available in the queue after applying poll method System.out.println("\nAvailable item in Queue: " + qObj); //declaring a integer variable here Integer intVar = 1450; //condition to check if element is available in the queue if(qObj.contains(intVar)){ //items available in the queue after applying poll method System.out.println("\nSpecified item is available in the Queue."); } //declaring a integer variable here Integer intVar2 = 1500; //condition to check if element is available in the queue if(qObj.contains(intVar2)){ //items available in the queue after applying poll method System.out.println("\nSpecified item is available in the Queue."); }else{ //items available in the queue after applying poll method System.out.println("\nSpecified item " + intVar2 + " is not available in the Queue."); } } }
输出:
本例中,尝试在Integer类型受限队列中添加String类型的元素。
代码:
importing package here import java.util.*; public class QueueInterfaceExample3 { public static void main(String[] args){ //initialize a Queue using a LinkedList Queue<Integer> qObj = new LinkedList<>(); //adding element to the queue qObj.add(50); qObj.add(175); qObj.add(1450); qObj.add(2750); qObj.add("Happy"); //items available in the queue System.out.println("\nTotal item count in Queue: " + qObj.size()); //printing queue here System.out.println("\nItems in Queue: " + qObj); //items available in the queue after applying poll method System.out.println("\nAvailable item in Queue: " + qObj); } }
输出:
上述程序的输出将产生错误,因为不支持在 Integer 类型队列中插入 String 类型的元素。
在上面的文章中,队列接口描述得很清楚。它用于扩展集合接口。还给出了如何在队列接口中使用 FIFO。上面几节给出了队列接口的使用。文章中给出了一些例子来看看队列&队列方法是如何工作的。
以上是Java队列接口的详细内容。更多信息请关注PHP中文网其他相关文章!