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<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); } } }
普通的队列,真正的FIFO