java - 互换 HashSet 和 TreeSet

标签 java set comparable

Possible Duplicate:
Hashset vs Treeset

你可以使用 HashSetTreeSet可以互换吗?如果我交换TreeSet对于 Hashset反之亦然,在程序中会出现什么问题?我知道您需要实现 Comparable对于TreeSet .

最佳答案

如果某些 API 需要 Set,那么您传递哪个实现绝对无关紧要。如果它需要具体类型(不太可能),则不能混合它们。

一般来说,它们的区别在于性能(HashSet 更快),但这不应该影响程序的行为方式和顺序。 HashSet 中项目的顺序是不可预测的。如果您的程序依赖于任何此类顺序,则应该使用 LinkedHashSetTreeSet

关于java - 互换 HashSet 和 TreeSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12077715/

相关文章:

java - 为什么我的拖动方法滞后?

java - 使用 tesseract 检测明亮背景上的白色文本

sql - hive collect_set 数组操作

Java 泛型类强制转换异常

具有 2 个优先级参数的 Java 优先级队列

java - 实现java接口(interface)时保证 "Object o"参数是同一个泛型类型

java - 错误 : incompatible operand types and object

java - Heroku - Java Maven 项目 depoly - 完成 git Push heroku master 后出现应用程序错误

java - 在 JAVA 中设置工作不正确

python - 如何使用 Python 随机丢弃集合中的多个元素?