用于反向插入的Java数据结构
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} 最后插入的值应始终是第一个。哪个数据结构
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);