黎娅茜 发表于 2025-9-29 13:58:52

LinkedList集合应用:实现队列

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) {
            returntrue;
      }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());
    }


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: LinkedList集合应用:实现队列