C++到java,语言等价问题

Hun*_*ves 2 c++ java

我已经非常喜欢C++中的一些结构,我最近一直在将一些旧的学校项目移植到java,但是遇到了一些陷阱,这些问题都没有通过简单的谷歌搜索来解决......所以我想到了我在这里问:

在C++中我很喜欢的Stringstream,vector,list,和dequeue,但一直没能找到其中的任何适当的文件.当我尝试使用时Vector,netbeans告诉我它已被弃用,这是否意味着其他一些代码占据了它的位置?我应该使用其他容器吗?

谢谢!

Jac*_*nds 5

对于Stringstream您可以使用java.io.ByteArrayOutputStream

C++的Vector<T>基本相同java.util.ArrayList<T>

最接近的匹配list<T>java.util.LinkedList<T>- 两者都被实现为双向链表(尽管如果你想要的只是一个有序的元素集合,你应该使用更通用的接口,java.lang.List<T>)

您也可以使用它java.util.LinkedList<T>来实现deque<T>. java.util.LinkedList<T>实现队列/堆栈所需的所有功能.

NetBeans告诉您的原因Vector<T>已弃用,因为使用Java Collections API引入的数据结构通常更好.在Vector<T>地方,你应该使用像java.util.ArrayList<T>java.util.LinkedList<T>.

  • 提及java.lang.List <T>的+1.值得了解的是,在Java中,您可以一般地定义变量(List <T>),然后使用您的首选实现(LinkedList <T>,ArrayList <T>)对其进行实例化. (2认同)