反向插入的Java数据结构

Irg*_*ter 1 java arrays reverse android data-structures

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

datastructure.insert(1); //datastructure is: {1}                 
datastructure.insert(4); //datastructure is: {4,1}       
datastructure.insert(9); //datastructure is: {9,4,1}
Run Code Online (Sandbox Code Playgroud)

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

Del*_*yan 5

这称为堆栈.看Stack<E>,方法是push()pop()


Pet*_*rey 5

最好的方法是使用Deque 除非你有一个非常旧版本的Java,否则你不应该使用Stack.Stack 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);
Run Code Online (Sandbox Code Playgroud)

版画

stack: [1, 4, 9]
deque: [9, 4, 1]
Run Code Online (Sandbox Code Playgroud)