【问题标题】:Java best data structure for sorting? [closed]Java用于排序的最佳数据结构? [关闭]
【发布时间】:2013-10-29 19:00:03
【问题描述】:

我想在数据结构中存储 (Object, int) 的列表,以便可以轻松地对 int 字段进行排序(升序或降序)。 我正在查看 Hashtables 和 TreeMaps,但我不确定其中哪一个(如果有的话)适合此目的。 优先级是排序速度。有什么建议吗?

【问题讨论】:

  • TreeMap 按键排序,而不是按值排序。如果您可以将 (Object, int) 反转为 (int, Object),那就合适了。
  • 是的,TreeMap 将是合适的。我认为这不是一个好问题……“我在看”——很好,但那又怎样?
  • 数组可能是最快的方法。地图不是用来排序的,而是用来搜索的,如果可能的话,滥用它们进行排序会更慢。
  • 你想做什么?您将如何使用这些数据?
  • 您需要在插入时排序,还是在插入所有内容后仅排序?

标签: java sorting hashmap treemap


【解决方案1】:

鉴于您告诉我们的内容,很难说什么是最好的。

如果您只关心排序性能,HashTable 或 TreeMap(实际上是红黑二叉树)具有出色的排序性能,但在添加时它们比其他一些数据结构慢(在 TreeMap 的情况下,删除) 项目。

您可能应该提供有关您对数据的处理方式的更多详细信息。

【讨论】:

  • 他希望对值而不是键进行排序
猜你喜欢
  • 2011-02-19
  • 2016-01-02
  • 1970-01-01
  • 2011-04-18
  • 2019-03-09
  • 1970-01-01
  • 2017-04-08
  • 2013-05-09
  • 2011-04-07
相关资源
最近更新 更多