我使用的是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);
}
答案 0 :(得分:2)
你可以使用List<T>
,Java有很多更好的方法,放轻松!
答案 1 :(得分:2)
您可能正在寻找ArrayList
List接口的可调整大小的数组实现。实现所有 可选的列表操作,并允许所有元素,包括null。在 除了实现List接口之外,这个类还提供了 操作内部使用的数组大小的方法 存储清单。
这样的事情:
ArrayList ar = new ArrayList<String>();
ar.add("abc");
答案 2 :(得分:1)
看看java.util.List。列表有许多具体实现,包括java.util.ArrayList
以下是使用ArrayList
的示例
注意Java集合,例如List<T>
使用泛型。下面我使用的是String
List<String> list = new ArrayList<String>();
list.add("some string");
答案 3 :(得分:0)
我很确定这是你正在寻找的课程:
答案 4 :(得分:0)
如果你想要类似于C ++ std::vector
的东西,我首先要看一下实现List
接口(http://docs.oracle.com/javase/7/docs/api/java/util/List.html)的各种类。
最常用的List
可能是ArrayList,它具有您期望的所有正常操作 - add
,get
,size
,{ {1}}等等。
另外还有LinkedList,它可以按照自己的方式使用,具体取决于你想要达到的目的。
答案 5 :(得分:-2)
编辑:我不主张使用java.util.Vector<E>
,但由于你来自C背景,它可能会给你一个温暖的模糊来使用相同的名称。但是,您应该注意(来自the Java API)
与新的集合实现不同,Vector是同步的。如果不需要线程安全实现,建议使用ArrayList代替Vector。
所以最好使用java.util.List<E>
的其他一些实现 - 最常见的是使用java.util.ArrayList<E>