【问题标题】:Is acceptable use static object for implementing comparable in java? [closed]可以接受使用静态对象在java中实现可比性吗? [关闭]
【发布时间】:2013-10-04 14:05:01
【问题描述】:

我有一些课程,我需要为此实施

compareTo

我需要特定的顺序,例如(伪代码):

static List: item1 item2 item3 ...

我想用

List.indexOf(itemN) and compare to List.indexOf(itemM)

这个解决方案可以接受吗?

【问题讨论】:

    标签: java list class indexing comparable


    【解决方案1】:

    是的,这是可以接受的,但除非您的列表非常小,否则效率会非常低。实际上,每次比较两个元素时,它都必须遍历列表以找到第一个元素的索引,然后再次迭代以找到另一个元素的索引。这将是非常低效的。

    您最好将List<Item> 转换为HashMap<Item, Integer>,以保存列表中每个项目的索引。或者使用 Guava 的 explicit ordering,它会为您做到这一点。

    【讨论】:

      猜你喜欢
      • 2014-08-06
      • 1970-01-01
      • 2013-01-12
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      相关资源
      最近更新 更多