当前位置:首页 > 行业动态 > 正文

java队列常用方法有哪些

Java队列常用方法有:add(), put(), offer() 和 remove()。

Java队列常用方法有哪些?

在Java中,队列(Queue)是一种特殊的集合,它遵循先进先出(FIFO)的原则,即队尾的元素最先被取出,队头的元素最后被取出,Java集合框架提供了几种实现队列的接口,如LinkedList、ArrayDeque和PriorityQueue等,本文将介绍这些接口中的常用方法。

LinkedList

1、创建队列

import java.util.LinkedList;
import java.util.Queue;
public class Main {
    public static void main(String[] args) {
        Queue<Integer> queue = new LinkedList<>();
    }
}

2、入队

queue.offer(1); // 将元素1添加到队尾

3、出队

int element = queue.poll(); // 从队头移除并返回元素,如果队列为空,则返回null

4、查看队首元素

Integer headElement = queue.peek(); // 返回队头元素,但不移除该元素,如果队列为空,则返回null

5、判断队列是否为空

boolean isEmpty = queue.isEmpty(); // 如果队列为空,返回true,否则返回false

ArrayDeque

1、创建队列

import java.util.ArrayDeque;
import java.util.Queue;
public class Main {
    public static void main(String[] args) {
        Queue<Integer> queue = new ArrayDeque<>();
    }
}

2、入队

queue.offer(1); // 将元素1添加到队尾

3、出队

int element = queue.poll(); // 从队头移除并返回元素,如果队列为空,则返回null

4、查看队首元素

Integer headElement = queue.peek(); // 返回队头元素,但不移除该元素,如果队列为空,则返回null

5、判断队列是否为空

boolean isEmpty = queue.isEmpty(); // 如果队列为空,返回true,否则返回false

PriorityQueue(优先级队列)

1、创建优先级队列(默认为最大堆)

import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;
public class Main {
    public static void main(String[] args) {
        Comparator<Integer> comparator = Comparator.reverseOrder(); // 自定义比较器,实现逆序排列,即最小值优先级最高(默认是升序排列)
        Queue<Integer> priorityQueue = new PriorityQueue<>(comparator); // 使用自定义比较器创建优先级队列实例(最大堆)或无比较器的优先级队列实例(最小堆)
    }
}
0