1

我正在使用 Java 编程语言。

C++ 有vector<T>并且我需要 Java 中的等价向量。

我想将此代码转换为 Java。

Vector<T> a[Maxn]; // Example: string, int, myclass, myvar, ...
int n;
cin >> n;
for(int i=0; i<n; i++)
{
    T x, y;
    cin >> x >> y;
    x--, y--;
    v[x].push_back(y);
}
4

6 回答 6

2

你可以用List<T>,Java有很多更好的方法,放心吧!

你可以搜索一下...

于 2013-10-30T17:40:31.243 回答
2

您可能正在寻找ArrayList

List 接口的可调整大小的数组实现。实现所有可选列表操作,并允许所有元素,包括 null。除了实现 List 接口之外,该类还提供了一些方法来操作内部用于存储列表的数组的大小。

像这样的东西:

ArrayList ar = new ArrayList<String>();
ar.add("abc");
于 2013-10-30T17:40:52.900 回答
1

看看java.util.List。list 有很多具体的实现,包括java.util.ArrayList

这是一个使用ArrayList Note Java 集合的示例,例如List<T>使用泛型。下面我使用的列表String

List<String> list = new ArrayList<String>(); 
list.add("some string");
于 2013-10-30T17:43:41.640 回答
0

我很确定这是您正在寻找的课程:

java.util.List

于 2013-10-30T17:40:17.617 回答
0

如果您想要类似于 C++ 的东西std::vector,我将首先查看实现该List接口的各种类 ( http://docs.oracle.com/javase/7/docs/api/java/util/List.html )。

可能最常用的ListArrayList,它具有您期望的所有正常操作 - addgetsizeiterator等。

或者,还有LinkedList,它以自己的方式很有用,具体取决于您想要实现的目标。

于 2013-10-30T17:42:18.050 回答
-2

编辑:我不提倡使用java.util.Vector<E>,但是由于您来自 C 背景,使用相同的名称可能会给您带来温暖的模糊感。但是,您应该注意(来自Java API

与新的集合实现不同,Vector 是同步的。如果不需要线程安全实现,建议使用 ArrayList 代替 Vector。

所以最好使用一些其他的实现java.util.List<E>——最常用的java.util.ArrayList<E>

于 2013-10-30T17:41:14.437 回答