我非常喜欢 C++ 中的一些结构,最近我将一些旧学校项目移植到 java,但遇到了一些简单的谷歌搜索无法解决的问题......所以我想我应该在这里问:
在 C++ 中,我非常喜欢 Stringstream
、vector
、list
和 dequeue
,但还没有无法找到有关其中任何一个的足够文档。当我尝试使用 Vector
时,netbeans 告诉我它已被弃用,这是否意味着其他代码取代了它?我应该使用其他容器吗?
谢谢!
最佳答案
对于Stringstream
您可以使用java.io.ByteArrayOutputStream
C++ 的 Vector<T>
与 java.util.ArrayList<T>
基本相同
最接近的匹配 list<T>
将是java.util.LinkedList<T>
-- 两者都实现为双向链表(尽管如果您想要的只是元素的有序集合,您可能应该使用更通用的接口(interface) 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 - C++ 到 java,语言等效问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7116030/