fifo算法代码Java
时间: 2024-06-23 21:03:16 浏览: 8
FIFO(First-In-First-Out)算法,也称为先进先出策略,通常用于处理数据结构,如队列。在Java中,实现一个简单的FIFO队列(通常使用`java.util.Queue`接口或`java.util.LinkedList`类)非常直观。这里是一个使用`LinkedList`实现的FIFO队列的例子:
```java
import java.util.LinkedList;
public class FIFOQueue {
private LinkedList<Object> queue;
// 构造函数
public FIFOQueue() {
this.queue = new LinkedList<>();
}
// 插入元素到队尾(尾部添加)
public void enqueue(Object item) {
queue.addLast(item);
}
// 从队首取出元素(头部删除)
public Object dequeue() {
if (queue.isEmpty()) {
throw new IllegalStateException("Queue is empty");
}
return queue.removeFirst();
}
// 查看队列是否为空
public boolean isEmpty() {
return queue.isEmpty();
}
// 返回队列大小
public int size() {
return queue.size();
}
// 主方法示例
public static void main(String[] args) {
FIFOQueue fifo = new FIFOQueue();
fifo.enqueue(1);
fifo.enqueue("two");
System.out.println("Queue size: " + fifo.size()); // 输出 2
System.out.println("Dequeued: " + fifo.dequeue()); // 输出 1
System.out.println("Queue size after dequeue: " + fifo.size()); // 输出 1
}
}
```
在这个例子中,`enqueue`方法用于向队列尾部添加元素,`dequeue`方法用于移除并返回队列头部的元素。`isEmpty`和`size`方法用于检查队列是否为空以及获取当前队列元素的数量。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)