【问题标题】:Java arrayList vs. C++ vector [duplicate]Java arrayList与C ++向量[重复]
【发布时间】:2023-03-09 05:37:02
【问题描述】:

可能重复:
What's the C++ version of Java's ArrayList

我正在阅读一本名为“Cracking the Coding Interview”的书,大部分(全部?)代码都是用 Java 编写的,并且 arrayList 被大量使用。在面试期间,如果语言是 C++,是否可以接受使用向量而不是 arrayList?我之所以这么问,是因为我什至没有看到使用向量解决类似问题的 C++ 代码示例,但我不确定是否存在显着差异。

C 中是否也有等价物?

【问题讨论】:

  • C 本身没有向量实现。链表是最容易实现的
  • 在开始准备面试 C++ 工作之前,您可能需要阅读一本有关 STL 的书。
  • 另外,C 标准库并没有真正实现通用数据结构。您可以从第三方库中获取它们,例如 GLib
  • @Inerdial:更好的是,您可能想阅读modern C++ book。 STL 已经过时了十多年。

标签: java c++ c arrays


【解决方案1】:

答案有两个:首先,您不能像这样比较 C++ 和 Java 之间的实用程序类 - 不同的语言具有不同的文化、命名约定等。如果 C++ 库中有 Vector 类,则没有任何联系到 Java 中的任何 Vector 类,名称除外。

其次,Java 中的 Vector 类实际上已被弃用,我不鼓励您使用它。事实上,忘记它:) List 和 ArrayList 的组合是要走的路。尽可能使用接口,比如:

List myList = new ArrayList();

故意遗漏泛型类型的示例。

【讨论】:

    【解决方案2】:

    忽略同步,Vector 和 ArrayList 的主要区别在于 Vector 是一个可调整大小的数组(类似于 C++ STL Vector),而 ArrayList 是一个恰好由数组支持的 List。

    arraylist-vs-vectors

    在后端,它们都是数组,上面有函数来帮助程序员。现在,它们从根本上有何不同?

    检查这里: http://www.reddit.com/r/learnprogramming/comments/l6o65/arraylist_java_vs_vectors_c/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      相关资源
      最近更新 更多