gpt4 book ai didi

Java:List之于ArrayList,Map之于HashMap,Set之于HashSet?

转载 作者:搜寻专家 更新时间:2023-10-31 08:09:36 25 4
gpt4 key购买 nike

我通常总是发现使用标题中列出的接口(interface)的具体类就足够了。通常当我使用其他类型(例如 LinkedList 或 TreeSet)时,原因是功能而不是性能 - 例如,队列的 LinkedList。

我有时会构造一个初始容量大于默认值 10 的 ArrayList 和一个具有超过默认桶 16 的 HashMap,但我通常(尤其是对于业务 CRUD)从来没有想过“嗯......我应该如果我只是要插入并遍历整个列表,请使用 LinkedList 而不是 ArrayList?”

我只是想知道这里的其他人使用什么(以及为什么)以及他们开发什么类型的应用程序。

最佳答案

这些绝对是我的默认设置,尽管 LinkedList 实际上通常是列表的更好选择,因为绝大多数列表似乎只是按顺序迭代,或者无论如何都通过 Arrays.asList 转换为数组。

但就保持一致的可维护代码而言,对这些代码进行标准化并出于某种原因使用替代方案是有意义的,这样当有人阅读代码并看到替代方案时,他们会立即开始认为代码正在做一些特别的事情。

我总是将参数和变量类型设置为 Collection、Map 和 List,除非我有特殊原因需要引用子类型,这样在需要时切换是一行代码。

如果您需要随机访问,我可以看到有时明确需要一个 ArrayList,但实际上并没有发生这种情况。

关于Java:List之于ArrayList,Map之于HashMap,Set之于HashSet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com