Vector有两种方法可以将元素放在一个索引处。
Vector<Integer> matrix;
matrix = new Vector<Integer>;
matrix.get(0);
matrix.elementAt(0);
他们似乎在做同样的事情。
答案 0 :(得分:7)
不同之处在于像Hashtable和Stack这样的Vector是遗留类,它们在1998年的Java 1.2中被重新设计,将被ArrayList取代。
elementAt(int)是遗留方法
get(int)符合15年前添加的List接口。
简而言之,除非你真的需要,否则不要使用Vector。
答案 1 :(得分:7)
他们都做同样的工作。您可以访问明确说明的Javadoc of Vector#elementAt(int)
:
此方法在功能上与get(int)方法(它是List接口的一部分)相同。
好吧,你不应该在新代码中使用Vector
了。它是遗留类,很久以前被ArrayList
取代。此外,Vector
中定义的每个操作都是同步的,这在大多数情况下是不需要的。无论何时需要,您都应该使用Collections.synchronizedList
。
而且您也无法像在代码中那样创建参数化类型的数组。所以,你的代码甚至都不会编译。
new Vector<Integer>[100]; // This will not compile. Error: Generic Array Creation
答案 2 :(得分:0)
根据文档
从Java 2平台v1.2开始,该类被改进以实现List接口,使其成为Java Collections Framework的成员。与新的集合实现不同,Vector是同步的。如果不需要线程安全实现,建议使用ArrayList代替Vector。
以这种方式添加get()
method