Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)

时间:2022-12-07 23:20:40

Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)


Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)


Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)

输出是:Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)


Queue接口底层换一个实现类,照样的是调用Queue接口中的方法

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Queue; public class Test99 {
public static void main(String args[]){
Map<String,String> map= new HashMap<String,String>(); //Queue是一个抽象的,LinkedList是一个具体的实现类
Queue<Integer> q = new PriorityQueue<Integer>();
q.add(10);
q.add(8);
System.out.println("添加一个元素之后"+q);
q.add(9);
System.out.println("添加两个元素之后"+q);
// q.add(1);
System.out.println("添加三个元素之后"+q); while(!q.isEmpty()){
q.remove();
System.out.println("移除元素之后"+q);
}
Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)
        Queue<Integer> q1  = new LinkedList<Integer>();
q1.add(10);
q1.add(8);
System.out.println("添加一个元素之后"+q1);
q1.add(9);
System.out.println("添加两个元素之后"+q1);
// q.add(1);
System.out.println("添加三个元素之后"+q1);
while(!q1.isEmpty()){
q1.remove();
System.out.println("移除元素之后"+q1);
}
}
}
Queue接口的实现类竟然有一个是LinkedList,一个是优先队列(同一个接口,只改了不同的实现类,附源码)
普通的队列,真正的FIFO