📜  Java中的 AbstractQueue add() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:49.659000             🧑  作者: Mango

Java中的AbstractQueue add()方法及示例

介绍

在Java中,AbstractQueue是一个抽象类,它实现了Queue接口中的大部分方法,使用该类可以更轻松地创建自定义队列,同时还可以利用一些已实现的Queue接口中的方法。

add()方法是AbstractQueue类中的一个方法,其作用是在队列的末尾添加指定的元素。如果队列已满,则会抛出异常。

语法

add()方法的语法如下:

boolean add(E e)

参数说明:

  • e: 要添加到队列中的元素

返回值:

  • 如果成功添加元素,则返回true;
  • 如果队列已满,则抛出异常,不返回任何值。
示例
import java.util.AbstractQueue;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Queue;

public class MyQueue<E> extends AbstractQueue<E> {

    private LinkedList<E> list = new LinkedList<E>();

    @Override
    public Iterator<E> iterator() {
        return list.iterator();
    }

    @Override
    public int size() {
        return list.size();
    }

    @Override
    public boolean offer(E e) {
        list.add(e);
        return true;
    }

    @Override
    public E poll() {
        if (list.isEmpty()) {
            return null;
        }
        return list.removeFirst();
    }

    @Override
    public E peek() {
        if (list.isEmpty()) {
            return null;
        }
        return list.getFirst();
    }

    public static void main(String[] args) {
        MyQueue<String> queue = new MyQueue<String>();
        queue.add("Java");
        queue.add("Python");
        queue.add("C++");
        queue.add("PHP");

        Iterator<String> it = queue.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

        System.out.println("队列中元素的个数: " + queue.size());

        System.out.println("移除队列中的第一个元素: " + queue.poll());
        System.out.println("队列中元素的个数: " + queue.size());

        System.out.println("查看队列头部元素: " + queue.peek());
    }
}

运行结果:

Java
Python
C++
PHP
队列中元素的个数: 4
移除队列中的第一个元素: Java
队列中元素的个数: 3
查看队列头部元素: Python

本示例中,我们自定义了一个名为MyQueue的队列,继承了AbstractQueue类,实现了offer()、poll()、peek()、iterator()和size()方法。然后我们通过add()方法添加元素,iterator()方法遍历队列,并使用poll()和peek()方法移除和查看队列中的元素。