Java 数据结构/C++ STL 等价物?

标签 java

我刚开始学java。我已经知道 C++ 和 python。 为了学习 Java,我有点用我在 C++ 中所知道的进行类比。 我是 C++ 中 STL 库的狂热用户( vector 、双端队列、堆栈、 HashMap )http://www.sgi.com/tech/stl/stl_introduction.html

同时,python 也有标准的字典、列表等,在他们的文档中很容易理解。

我最近一直在谷歌搜索以找到 Java 中的 STL 等价物,但找不到? 谁能指出我正确的资源?

最佳答案

  1. std::vector -> j.u.ArrayList
  2. std::unordered_map -> j.u.HashMap
  3. std::map -> j.u.TreeMap
  4. std::set -> j.u.LinkedHashSet
  5. std::unordered_set -> j.u.HashSet
  6. std::stack -> j.u.ArrayDeque(不推荐使用 j.u.Stack),
  7. std::queue -> 使用 j.u.LinkedList(也看看 j.u.ArrayBlockingQueue)。
  8. std::priority_queue -> j.u.PriorityQueue
  9. std::span -> 没有明确的类似物
  10. std::deque -> j.u.ArrayDeque
  11. std::list -> j.u.LinkedList
  12. std::forward_list -> 无类似物

重要提示:上述关联具有相似的API,但可能有不同的操作和实现渐近。

注意:j.u 表示java.util

关于Java 数据结构/C++ STL 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9972857/

相关文章:

java - 创建自定义 JSF 1.2 组件

java - 从未排序的输入返回唯一值的算法

java - 如何使用java代码设置html文本字段的值

java - 从剪贴板到文件

java - 如何在 Java 中将 L 附加到 long

java - 如何以编程方式执行异或运算

java - 有没有一种方法可以链接 mysql 中已有的条目而不是创建新条目?

java - 如何从json数组中读取特定的json对象元素?

java - 将工作簿与 aspose 组合时样式丢失

java - 以编程方式设置 java.system.class.loader