java - 使用树集优于手动排序集的好处

标签 java set treeset

在集合中,我们可以根据我们的要求对集合或映射进行排序。 Treeset 或 TreeMap 也提供了排序后的集合。当我们需要排序集合时使用 treeset 有什么好处吗

最佳答案

我之前的发贴者没有提到一个重要的标准:如果你的集合中的元素在插入后经常改变它们的状态,即你需要多次重新排序同一个集合,可能是 TreeSetTreeMap 并不理想,因为元素仅在插入期间排序,之后永远不会。 IE。如果您更改 TreeSet/TreeMap 中元素的排序键,它不会自动重新排序。您需要在更新之前从集合中删除元素,并在更新之后重新添加它,以确保它会被插入到正确的位置。您可以使用我的 UpdateableTreeSet 来帮助您对 TreeSet 进行排序。

综上所述,您可以得出结论,在这种情况下,未排序的集合加上按需使用 Collections.sort() 可能是更简单的方法。哪种方式总体上更快取决于您的情况。我想 UpdateableTreeSet 应该可以很好地帮助您将现有集合的排序限制在您真正更改排序键的地方。

关于java - 使用树集优于手动排序集的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311969/

相关文章:

java - 最好的java开发实用工具是什么?

java - intel和AMD多线程的区别

MYSQL|将值插入 SET 数据类型

java - 为什么 Java 的 TreeSet<E> remove(Object) 不带 E

java - 创建 Activity RAR 时出错 + 在 JAVA 中找不到 ResourceAdapterImpl 类

Url 模拟测试中出现 java.lang.NullPointerException

java - TreeSet of String 对我来说不合逻辑

python - python集中的哈希表冲突?

java - TreeMap 按值排序错误

java - 为什么对 treeSet 使用自定义 Comparator 会破坏 String 对象的相等性?