1
8
“视情况而定”。您真正需要首先回答的问题是:“我要将集合用于什么?”
如果您经常在其中一端(开始、结束)插入/删除项目
总而言之:
|
2
1
作为违约,我倾向于
随着时间的推移,我确实发现,当我需要一个泛型集合时,或多或少需要放入一些东西,然后对其进行迭代。如果我需要更进一步的行为(比如随机访问、排序或单一性检查),那么我可能会更改使用的实现,但在此之前,我会将使用的接口更改为最合适的。这样,我可以确保在提供特性之前集中于优化和实现。 |
3
1
arraylist基本上在内部包含一个数组(这就是它被称为arraylist的原因)。在任意位置执行addd/remove之类的操作都是以一种简单的方式完成的,所以如果不使用它们,不会对性能造成损害。 |
4
0
|
5
0
这取决于你对它的了解。 如果我没有线索,我倾向于寻找一个链接列表,因为在末尾添加/删除的惩罚是恒定的。如果我对它的最大大小有一个粗略的概念,我会使用一个具有指定容量的数组列表,因为如果估计良好,它会更快。如果我真的知道确切的大小,我倾向于使用普通数组;尽管这不是真正的集合类型。 |
6
0
这不一定是真的。 如果您知道应用程序的工作原理 讲述 如果您认为某些集合将非常大,那么最好选择正确的集合类型。但正确的收集类型取决于 至关重要的是 关于集合将如何使用,即算法。
例如,如果您的应用程序很可能被测试所控制,如果一个集合持有一个给定的对象,那么事实是
但要强调的是,如果您可能要处理的是非常大的集合,则不应该存在“默认”集合类型。您需要在算法的上下文中考虑集合。(另一方面,如果集合总是很小的话,那么选择哪种集合类型可能没有什么区别。) |
Giffyguy · 如何限制在构造向量后调用'resize()'? 2 年前 |
vytaute · 返回表类型时Oracle函数中的类型错误 2 年前 |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
dev-chicco · Laravel系列寻找常见物品 2 年前 |
Mitch · Laravel-雄辩的单品合并系列 6 年前 |
Kieran · 为什么类X可以从集合继承<X> 6 年前 |
John · 如何在不返回集合本身的情况下返回集合的数据? 6 年前 |
Niklas Mertsch · 在泛型集合中实现移除(对象o) 6 年前 |