常用的Java队列有以下几种:
LinkedList:基于双向链表实现的队列,可以作为队列和双端队列使用。
ArrayDeque:基于可变数组实现的双端队列,可以作为队列和双端队列使用。
PriorityQueue:基于堆实现的优先队列,元素按照优先级顺序出队。
ArrayBlockingQueue:基于数组实现的有界阻塞队列,可以设置队列的容量,当队列满时,插入操作将会阻塞。
LinkedBlockingQueue:基于链表实现的可选有界阻塞队列,可以设置队列的容量,当队列满时,插入操作将会阻塞。
ConcurrentLinkedQueue:基于链表实现的无界非阻塞队列,适用于多线程环境。
PriorityBlockingQueue:基于堆实现的无界阻塞优先队列,元素按照优先级顺序出队。
这些队列都实现了Queue接口,可以进行常用的队列操作,如入队、出队、查看队首元素等。具体选择哪种队列取决于应用场景和需求。