Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于反向插入的Java数据结构_Java_Android_Arrays_Data Structures_Reverse - Fatal编程技术网

用于反向插入的Java数据结构

用于反向插入的Java数据结构,java,android,arrays,data-structures,reverse,Java,Android,Arrays,Data Structures,Reverse,Java中是否有支持反向插入的数据结构?我想向数据结构添加值。我不知道提前多少。应将这些值插入下一行: datastructure.insert(1); //datastructure is: {1} datastructure.insert(4); //datastructure is: {4,1} datastructure.insert(9); //datastructure is: {9,4,1} 最后插入的值应始终是第一个。哪个数据结构

Java中是否有支持反向插入的数据结构?我想向数据结构添加值。我不知道提前多少。应将这些值插入下一行:

datastructure.insert(1); //datastructure is: {1}                 
datastructure.insert(4); //datastructure is: {4,1}       
datastructure.insert(9); //datastructure is: {9,4,1}

最后插入的值应始终是第一个。哪个数据结构最适合?

这称为堆栈。参见
Stack
,方法有
push()
pop()
这称为堆栈。请参见
Stack
,方法有
push()
pop()
我们使用的是StackOverflow,您可能需要使用Stack;)

我们正在使用StackOverflow,您可能希望使用堆栈;)

您可以使用a并使用
addFirst()
添加新元素,或者a

您可以使用a并使用
addFirst()
或a添加新元素。最好的方法是使用a,除非您有非常旧的Java版本,否则不应该使用堆栈。一个堆栈btw将是相反的顺序,你需要

Stack stack = new Stack();
stack.push(1);
stack.push(4);
stack.push(9);
System.out.println("stack: " + stack);
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(1);
deque.addFirst(4);
deque.addFirst(9);
System.out.println("deque: " + deque);

最好的方法是使用堆栈,除非您有一个非常旧的Java版本,否则不应该使用堆栈。一个堆栈btw将是相反的顺序,你需要

Stack stack = new Stack();
stack.push(1);
stack.push(4);
stack.push(9);
System.out.println("stack: " + stack);
Deque<Integer> deque = new ArrayDeque<>();
deque.addFirst(1);
deque.addFirst(4);
deque.addFirst(9);
System.out.println("deque: " + deque);

是的,你能做的最简单的事情是实现一个堆栈,一个接一个地推送你的所有元素,然后将它们弹出。它紧随其后,这正是你想要的。

是的,你能做的最简单的事情是实现一个堆栈,一个接一个地推送所有元素,然后将它们弹出。它紧跟着后进先出,这正是您想要的。

您可以使用java.util.ArrayDeque而不是Stack。发件人:

Deque接口及其实现提供了一组更完整、更一致的后进先出堆栈操作,应该优先使用堆栈类。例如:

Deque stack=new ArrayDeque();
堆栈推送(1);
栈推(2);
堆栈推送(3);
堆栈推送(4);
您将得到如下值{4,3,2,1}

类java.util.ArrayDeque提供后进先出数据结构的所有操作(对于ex push()和pop())

您可以使用java.util.ArrayDeque而不是堆栈。发件人:

Deque接口及其实现提供了一组更完整、更一致的后进先出堆栈操作,应该优先使用堆栈类。例如:

Deque stack=new ArrayDeque();
堆栈推送(1);
栈推(2);
堆栈推送(3);
堆栈推送(4);
您将得到如下值{4,3,2,1}


类java.util.ArrayDeque提供后进先出数据结构的所有操作(对于ex push()和pop())

堆栈将生成
[1,4,9]
请参见我的答案。无论如何,它是一个遗留类。这两个方面都是正确的。另外,我不确定迭代顺序是否重要。堆栈将生成
[1,4,9]
查看我的答案。无论如何,它是一个遗留类。这两个方面都是正确的。另外,我还不确定迭代顺序是否重要,这就是我真正要找的。谢谢。这就是我要找的。谢谢。最后试试允许插入的Deque,你有2个使用genric collection stack和方法push and pop of FIFO concepts+1不确定为什么这么多人认为stack是正确的答案。这表明值得问这个问题,因为堆栈不是一个好主意。看看我的答案。试试允许插入的Deque。最后,你有2个使用genric collection stack和方法push and pop of FIFO concepts+1不确定为什么这么多人认为stack是正确的答案。这表明值得问这个问题,因为堆栈不是一个好主意。看看我的答案。
Deque<Integer> stack = new ArrayDeque<Integer>();
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);