java - 选择 Java 集合实现的经验法则?

标签 java collections heuristics

对于在 Java Collection 接口(interface)(如 List、Map 或 Set)的不同实现之间进行选择,任何人都有很好的经验法则吗?

例如,通常为什么或在什么情况下我更喜欢使用 Vector 或 ArrayList、Hashtable 或 HashMap?

最佳答案

我非常喜欢 Sergiy Kovalchuk 博客条目中的这张备忘单,但不幸的是它已离线。然而,Wayback Machine 有一个 historical copy :

Java Map/Collection Cheat Sheet

更详细的是 Alexander Zagniotov 的流程图,因此也离线,因此也是历史 copy of the blog :

Alexander Zaniotov's flowchart for choosing Collection implementations

关于评论中提出的问题的博客摘录: “这份备忘单不包括 WeakHashMap、LinkedList 等很少使用的类,因为它们是为非常特定或奇异的任务而设计的,不应在 99% 的情况下选择。”

关于java - 选择 Java 集合实现的经验法则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48442/

相关文章:

java - 在 Debug模式与 Release模式下更改 Java 中的常量

java - 创建生态系统时出现处理错误

java - 如何使用 Java 8 特性生成集合?

c# - 从数据表中获取一组 ID(值)

algorithm - 用于查找在大数据集中经常一起出现的元素的启发式方法

java - MainActivity 到 Fragment,然后从该 Fragment 返回到 MainActivity

java - 自动创建junit

java - 有没有一种方法可以操作通用类型的集合?

algorithm - 为什么具有可接受的不一致启发式的 A* 会找到非最优解?

algorithm - 寻路的扩展 - 最少转弯的路径