Java 堆栈扩展向量
如果堆栈扩展向量,这是否意味着堆栈被同步化 来自Vector Java文档的注释 与新的集合实现不同,Vector是同步的Java 堆栈扩展向量,java,vector,stack,Java,Vector,Stack,如果堆栈扩展向量,这是否意味着堆栈被同步化 来自Vector Java文档的注释 与新的集合实现不同,Vector是同步的 是的,它是同步的,但是根据,您应该更喜欢使用堆栈而不是堆栈 从: 更完整和一致的后进先出堆栈操作集是 由Deque接口及其实现提供,应该 优先于该类使用。例如: Deque stack=new ArrayDeque() 是的,从Vector继承的方法在堆栈中保持同步。自己的堆栈方法peek、pop、search在堆栈中同步。Stack.push和Stack.empty方法不
是的,它是同步的,但是根据,您应该更喜欢使用堆栈而不是
堆栈
从:
更完整和一致的后进先出堆栈操作集是
由Deque接口及其实现提供,应该
优先于该类使用。例如:
Deque stack=new ArrayDeque()代码>
是的,从Vector继承的方法在堆栈中保持同步。自己的堆栈方法peek、pop、search在堆栈中同步。Stack.push和Stack.empty方法不同步,但
public boolean empty() {
return size() == 0;
}
public E push(E item) {
addElement(item);
return item;
}
这两种方法都在调用Vector的同步方法,因此Stack.empty和Stack.push是线程安全的。如果有疑问(*仅限openjdk;),为什么不使用LinkedList?ArrayDeque是Deque的一个实现,而Vector是List+1的一个实现。我认为这是正确的。我不认为扩展向量会使堆栈同步。这就是方法的定义。对,它不是一个可以同步的类,而是它的方法