您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在Java中,Deque(双端队列)是一个允许从两端添加和删除元素的集合
import java.util.ArrayDeque;
import java.util.Deque;
public class FIFODeque {
private Deque<Integer> deque;
public FIFODeque() {
deque = new ArrayDeque<>();
}
// 在队列前端添加元素
public void addFirst(int item) {
deque.addFirst(item);
}
// 在队列后端添加元素
public void addLast(int item) {
deque.addLast(item);
}
// 从队列前端删除元素
public int removeFirst() {
if (deque.isEmpty()) {
throw new IllegalStateException("Deque is empty");
}
return deque.removeFirst();
}
// 从队列后端删除元素
public int removeLast() {
if (deque.isEmpty()) {
throw new IllegalStateException("Deque is empty");
}
return deque.removeLast();
}
// 查看队列前端元素
public int peekFirst() {
if (deque.isEmpty()) {
throw new IllegalStateException("Deque is empty");
}
return deque.peekFirst();
}
// 查看队列后端元素
public int peekLast() {
if (deque.isEmpty()) {
throw new IllegalStateException("Deque is empty");
}
return deque.peekLast();
}
// 检查队列是否为空
public boolean isEmpty() {
return deque.isEmpty();
}
// 获取队列大小
public int size() {
return deque.size();
}
}
public class Main {
public static void main(String[] args) {
FIFODeque fifoDeque = new FIFODeque();
// 添加元素到队列前端和后端
fifoDeque.addFirst(1);
fifoDeque.addLast(2);
fifoDeque.addFirst(3);
// 查看队列前端和后端元素
System.out.println("Peek first: " + fifoDeque.peekFirst()); // 输出:Peek first: 3
System.out.println("Peek last: " + fifoDeque.peekLast()); // 输出:Peek last: 2
// 从队列前端和后端删除元素
System.out.println("Remove first: " + fifoDeque.removeFirst()); // 输出:Remove first: 3
System.out.println("Remove last: " + fifoDeque.removeLast()); // 输出:Remove last: 2
// 查看队列前端和后端元素
System.out.println("Peek first: " + fifoDeque.peekFirst()); // 输出:Peek first: 1
System.out.println("Peek last: " + fifoDeque.peekLast()); // 输出:Peek last: (空)
}
}
这个示例展示了如何使用 Java Deque 实现先进先出(FIFO)的数据结构。你可以根据需要修改和扩展这个类。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。