![](/img/trans.png)
[英]Does java have a built in elementAt(stack s, int index) method?
[英]What's the difference between get(int index) and elementAt(int index)?
向量有两种方法可以使元素位于一个索引处。
Vector<Integer> matrix;
matrix = new Vector<Integer>;
matrix.get(0);
matrix.elementAt(0);
看来他们在这里做同样的事情。
区别在于,像Hashtable和Stack这样的Vector是遗留类,它们在1998年的Java 1.2中进行了重新设计,以替换为ArrayList。
elementAt(int)是旧方法
get(int)符合15年前添加的List接口。
简而言之,除非确实需要,否则不要使用Vector。
他们俩都做同样的工作。 您可以访问Vector#elementAt(int)
的Javadoc,其中明确指出:
此方法的功能与get(int)方法(属于List接口的一部分)相同。
好吧,您不应再在新代码中使用Vector
。 这是旧类,很久以前就被ArrayList
取代。 而且, Vector
中定义的每个操作都是同步的,这在大多数时候是不需要的。 而且,无论何时需要,都应该改用Collections.synchronizedList
。
而且,您也无法像在代码中那样创建参数化类型的数组。 因此,您的代码甚至无法编译。
new Vector<Integer>[100]; // This will not compile. Error: Generic Array Creation
根据文档
从Java 2平台v1.2开始,对该类进行了改进以实现List接口,使其成为Java Collections Framework的成员。 与新的集合实现不同,Vector是同步的。 如果不需要线程安全的实现,建议使用ArrayList代替Vector。
这样get()
添加了get()
method
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.