java – 使用HashSet在ArrayList上传递意图?

前端之家收集整理的这篇文章主要介绍了java – 使用HashSet在ArrayList上传递意图?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
想象一下,我需要创建一个元素集合,其中的顺序可以或不重要.所有我打算做的都是使用迭代器.我注意到大多数同事使用的是ArrayList和LinkedHashSet / HashSet.我的问题是,如果我知道这些元素应该是唯一的,我应该使用一个集合或列表吗?实际上它并没有真正有所作为,但是没有更有效地传达这些元素是独一无二的?

我认为这是大型企业应用程序的一个有趣的问题,原因如下:
1)如果您不能保证代码的整体质量,使用Set可能是危险的.为什么?因为equals()&哈希码可能被错误地覆盖,因此使用Set可能会导致一些非常讨厌的问题.
2)使用列表更能适应未来的变化.如果重复的任何原因成为可能,不需要担心.

基本上归结为:如果我知道我应该期待独特的元素,我应该喜欢在所有情况下设置列表吗?

编辑:我想我也问:应该使用Set来确保不添加重复项,还可以仅用于说明不存在重复项以便于理解?

解决方法

1)完全虚伪.不要解决错误,修复它们.
因此,如果订单不重要,则使用任何 Set实现,则使用 SortedSet.如果元素不必是唯一的(你现在应该确定,通常不应该改变),请随意使用 List.
原文链接:https://www.f2er.com/java/124629.html

猜你在找的Java相关文章