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