LinkedList集合应用:实现队列
题目:
使用LinkedList类实现一个Queue(队列)类。Queue类应该具有以下功能:
- void enqueue(E element):将给定的元素添加到队列的末尾。
- E dequeue():删除并返回队列的第一个元素。如果队列为空,则抛出NoSuchElementException异常。
- E peek():返回队列的第一个元素。如果队列为空,则抛出NoSuchElementException异常。
- int size():返回队列中的元素数量。
- boolean isEmpty():如果队列为空,则返回true,否则返回false。
- class Queue<E> {
- // 使用LinkedList实现队列
- private LinkedList<E> list;
- public Queue() {
- // 初始化队列
- list = new LinkedList<>();
- }
- public void enqueue(E element) {
- // 将给定的元素添加到队列的末尾
- list.addLast(element);
- }
- public E dequeue() {
- // 删除并返回队列的第一个元素
- // 如果队列为空,则抛出NoSuchElementException异常
- if (list.isEmpty()) {
- throw new NoSuchElementException();
- }else {
- return list.remove(0);
- }
- }
- public E peek() {
- // 返回队列的第一个元素
- // 如果队列为空,则抛出NoSuchElementException异常
- if (list.isEmpty()) {
- throw new NoSuchElementException();
- }else {
- return list.getFirst();
- }
- }
- public int size() {
- // 返回队列中的元素数量
- return list.size();
- }
- public boolean isEmpty() {
- // 如果队列为空,则返回true,否则返回false
- if (list.size()==0) {
- return true;
- }else {
- return false;
- }
- }
- }
复制代码 添加测试类:- public class Task {
- public static void main(String[] args) {
- Queue<Integer> queue = new Queue<>();
- // 加入队列
- queue.enqueue(1);
- queue.enqueue(2);
- queue.enqueue(3);
- // 出队
- System.out.println(queue.dequeue());
- // 查看队首元素
- System.out.println(queue.peek());
- // 查看队列大小
- System.out.println(queue.size());
- System.out.println(queue.isEmpty());
- }
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |