有没有人还在使用Vector(而不是Collections.synchronizedList(List list)/ CopyOnWriteArrayList)?

时间:2011-01-03 10:31:52

标签: java collections vector synchronization arraylist

我想知道为什么this问题在2011年仍然存在,J2SE 1.2于98年9月发布,带有Collections framework.is那里有人还在使用Vector(除非你为返回Vector的接口编写客户端)? / p>

4 个答案:

答案 0 :(得分:2)

Java 5.0在2004年引入了并发集合,很多人似乎没有使用它们而不是Collections.synchronizedList()。它们不是直接的替代品,有时最好使用JDK 1.2或5.0集合,但它让我感到惊讶的是人们不经常使用它们。

答案 1 :(得分:0)

我多年没有使用过Vector或Hashtable。

答案 2 :(得分:0)

遗留集合类(如VectorHashtable)仍然存在,因为Sun(现在是Oracle)始终认为保持Java向后兼容非常重要。他们永远不会从标准Ja​​va API中删除旧东西,因为这会破坏旧程序。

真正的问题应该是:为什么Sun(或Oracle)不推荐使用遗留集合类?

没有明确的技术原因可以解释旧类没有被弃用的原因。可能这是因为API的其他部分仍在使用这些遗留类,而Sun / Oracle不希望在编译期间过多地使用弃用警告来打扰用户。

无论如何,除非你真的需要,否则永远不要使用那些遗留类(例如,因为你正在处理一个旧的API)。

答案 3 :(得分:0)

我经常使用Vector主要使用Swing。我有很多使用DefaultTableModel等类的应用程序,如果你在Vector中有数据,它们真的很简单。有很多方法,但我喜欢保持简单,因为它不会妨碍性能。

但是,任何其他时间我需要一个列表我不使用Vector。