Android는 LinkedList를 사용하여 대기열을 구현합니다.

대기 줄

 큐는 테이블 앞쪽의 삭제 작업과 테이블 뒤쪽의 삽입 작업만 허용하는 특수한 종류의 선형 테이블입니다. 삽입 작업을 수행하는 끝을 큐의 끝이라고 하고 삭제 작업을 수행하는 끝을 큐의 머리라고 합니다. 대기열에 요소가 없을 때 이를 빈 대기열이라고 합니다. 큐의 데이터 구조에서 삽입된 첫 번째 요소가 첫 번째 삭제된 요소가 되며, 그렇지 않으면 마지막으로 삽입된 요소가 마지막으로 삭제된 요소가 되므로 큐를 "선입 선출"(FIFO—선입선출)이라고도 합니다. 첫 번째). out) 선형 테이블.

import java.util.LinkedList;
public class MyQueue
{
  private LinkedList list = new LinkedList();
  public void clear()//销毁队列
  {
      list.clear();
  }
  public boolean QueueEmpty()//判断队列是否为空
  {
      return list.isEmpty();
  }
  public void enQueue(Object o)//进队
  {
      list.addLast(o);
  }
  public Object deQueue()//出队
  {
      if(!list.isEmpty())
      {
          return list.removeFirst();
      }
      return "队列为空";
  }
  public int QueueLength()//获取队列长度
  {
      return list.size();
  }
  public Object QueuePeek()//查看队首元素
  {
      return list.getFirst();
  }
  public static void main(String[] args)//测试队列
  {
      MyQueue queue = new MyQueue();
      System.out.println(queue.QueueEmpty());
      queue.enQueue("a");
      queue.enQueue("b");
      queue.enQueue("c");
      queue.enQueue("d");
      queue.enQueue("e");
      queue.enQueue("f");
      System.out.println(queue.QueueLength());
      System.out.println(queue.deQueue());
      System.out.println(queue.deQueue());
      System.out.println(queue.QueuePeek());
      System.out.println(queue.deQueue());
      queue.clear();
      queue.enQueue("s");
      queue.enQueue("t");
      queue.enQueue("r");
      System.out.println(queue.deQueue());
      System.out.println(queue.QueueLength());
      System.out.println(queue.QueuePeek());
      System.out.println(queue.deQueue());
  }
}
 
 

인쇄 결과는 다음과 같습니다.


6
a
b
c
c
s
2
t
t

 

재인쇄: Android는 LinkedList를 사용하여 대기열 구현 - 별의 힘 - Blog Park 

추천

출처blog.csdn.net/weixin_42602900/article/details/123655610