Java 什么';get(int-index)和elementAt(int-index)之间的区别是什么?

Java 什么';get(int-index)和elementAt(int-index)之间的区别是什么?,java,collections,vector,Java,Collections,Vector,Vector有两种方法在一个索引处获取元素 Vector<Integer> matrix; matrix = new Vector<Integer>; matrix.get(0); matrix.elementAt(0); 向量矩阵; 矩阵=新向量; 矩阵get(0); 矩阵元素at(0); 它们似乎在做同样的事情。区别在于类似向量的哈希表和堆栈是遗留类,1998年在Java 1.2中重新设计,用ArrayList替换 elementAt(int)是遗留方法 get(

Vector有两种方法在一个索引处获取元素

Vector<Integer> matrix;
matrix = new Vector<Integer>;
matrix.get(0);
matrix.elementAt(0);
向量矩阵;
矩阵=新向量;
矩阵get(0);
矩阵元素at(0);

它们似乎在做同样的事情。

区别在于类似向量的哈希表和堆栈是遗留类,1998年在Java 1.2中重新设计,用ArrayList替换

elementAt(int)是遗留方法

get(int)符合15年前添加的列表接口


简而言之,除非你真的必须使用Vector,否则不要使用Vector。

它们都做相同的工作。您可以访问,它清楚地说明:

此方法在功能上与get(int)方法(它是列表接口的一部分)相同

嗯,在新代码中不应该再使用
Vector
。它是一个遗留类,很久以前被
ArrayList
取代。此外,向量中定义的每个操作都是同步的,这在大多数情况下是不需要的。无论何时需要,都应该使用
集合.synchronizedList

而且,您不能像在代码中那样创建参数化类型的数组。因此,您的代码甚至无法编译

new Vector<Integer>[100];  // This will not compile. Error: Generic Array Creation
新向量[100];//这将无法编译。错误:泛型数组创建
根据文件

从Java2平台v1.2开始,这个类被改装以实现List接口,使其成为Java集合框架的成员。与新的集合实现不同,Vector是同步的。如果不需要线程安全实现,建议使用ArrayList代替Vector


这样一来,
get()。根据Javadoc,功能方面没有区别。但是你不应该再使用它了。切换到
ArrayList
而不是使用
Vector
。抱歉,我从其他地方复制了它。你能更正它吗?@johnychen。在声明中使用
List
而不是
Vector[]
。对于实例化,使用
newarraylist()向量是同步的,这是反对使用它的一个相关原因。它速度较慢,并且在大多数情况下不会带来线程安全性。