Java中std :: vector的等价物?

在Java中,与std :: vector最接近的是什么? 我的意思是,这个类可以将T引入其构造函数,然后是pushBack,popBack(),并存储在连续内存(不是链表)中。

谢谢

数组列表
尽管操作名称有点不同,但所有内容都存储在数组(“连续内存”)内部。

更多关于Java中的列表实现
关于generics

编辑
Helper Method在他的回答中也提到了有用的类(虽然不完全等同于C ++ Vector)。

如果你需要Stackfunction,那可能就是ArrayDeque 。

不要像其他人建议的那样使用Stack类。

您可能正在寻找ArrayDeque支持列表两端的推/弹样式访问的ArrayDeque

避免 StackVector – 这些是同步的,这通常意味着无意义的开销。

ArrayList也没关系; 但是,您需要实现自己的(普通)pop方法,因为它本身不提供它。 ArrayList允许ArrayDeque缺少的索引访问。

您正在寻找ArrayList吗?
ArrayList l = new ArrayList();
所以你可以有一个任何列表(在<>之间定义)。

您可以使用ArrayDeque ,它不支持随机访问,但支持Deque (双端队列)方法

我认为这是LinkedList

 vector (c++) <===========> linkedlist(java) v.front() <===========> l.peekFirst() v.back() <===========> l.peekLast() v.push_back(x) <===========> l.add(x) v.pop_back() <===========> l.pollLast() 

Java有支持push和pop的Stack。 ( http://download.oracle.com/javase/6/docs/api/java/util/Stack.html

你需要的只是一个java.util.ArrayList你可以查看http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html中的文档。

基本上是一个使用Array实现的List,其中引用存在于连续的内存块中。

我建议与这样的接口变量结合使用: List stringList = new ArrayList(); 因此,如果您决定,可以将实现更改为java.util.LinkedList或其他。