我正在阅读一本名为“破解编码面试”的书,大部分(全部?)代码都是用Java编写的,并且使用了arrayList。在访谈中,如果语言是C ++,是否可以使用vector而不是arrayList?我问,因为我没有看到使用向量的类似问题的C ++代码的一个例子,但我不确定是否存在显着差异。
C中还有一个等价物吗?
答案 0 :(得分:3)
答案是双重的:首先,你无法比较C ++和Java之间的实用程序类 - 不同的语言有不同的文化,命名约定等。如果C ++库中有Vector类,那么就没有任何联系使用Java中的任何Vector类,除了名称。
其次,Java中的Vector类实际上已被弃用,我不鼓励你使用它。事实上,忘了它:) List和ArrayList的组合是要走的路。尽可能使用接口,例如:
List myList = new ArrayList();
故意忽略通用输入的示例。
答案 1 :(得分:1)
忽略同步,Vector和ArrayList之间的主要区别在于Vector是一个可调整大小的数组(类似于C ++ STL Vector),而ArrayList是恰好由数组支持的List。
在后端,它们都是顶部有函数的数组,以帮助程序员。现在,他们从根本上有多么不同?
点击此处: http://www.reddit.com/r/learnprogramming/comments/l6o65/arraylist_java_vs_vectors_c/