gpt4 book ai didi

java - 当使用Deque作为堆栈或队列时,java如何知道使用哪种peek方法?

转载 作者:行者123 更新时间:2023-12-02 12:28:06 24 4
gpt4 key购买 nike

我阅读了有关 Deque 的文档,它只是说 peek 方法将返回此 Deque 表示的队列的头部。但它如何知道我的结构是队列还是堆栈。

import java.util.ArrayDeque;
import java.util.Deque;
import java.util.LinkedList;

/**
* Created by fang on 7/30/17.
*/
public class DequeMethods {
public static void main(String[] args){
Deque<Integer> queue = new LinkedList<>();
Deque<Integer> stack = new LinkedList<>();
for(int i=0;i<100;i++){
queue.offer(i);
stack.push(i);
}
System.out.println(queue.peek());
System.out.println(stack.peek());
}
}

最佳答案

它不知道它是队列还是堆栈,正如您已经提到的 peek 只会返回双端队列的头部。这里的要点是推送和提供(也包括拉取和轮询)上的 header value 是什么,如果推送头将指向新推送的元素,但在提供头中仍将指向第一个插入的元素。所以 peek 只是返回 head 值,并且 head 值由调用的队列/堆栈方法更新。

为了更清楚地了解请查看此处的 4.1 和 4.2 https://www.baeldung.com/java-array-deque

关于java - 当使用Deque作为堆栈或队列时,java如何知道使用哪种peek方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45400815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com