0
我有一些类,为此,我需要实现是否可以使用静态对象来实现可比较的java?
compareTo
我需要特定的顺序一样(伪):
static List: item1 item2 item3 ...
我想使用
List.indexOf(itemN) and compare to List.indexOf(itemM)
这是否接受的解决方案?
我有一些类,为此,我需要实现是否可以使用静态对象来实现可比较的java?
compareTo
我需要特定的顺序一样(伪):
static List: item1 item2 item3 ...
我想使用
List.indexOf(itemN) and compare to List.indexOf(itemM)
这是否接受的解决方案?
是的,这是可以接受的,但除非您的清单非常小,否则效率会非常低。的确,每次你要比较两个元素时,它都必须遍历列表来查找第一个元素的索引,然后再次迭代以找到另一个元素的索引。这将是非常低效的。
您最好将List<Item>
转换为HashMap<Item, Integer>
,其中包含列表中每个项目的索引。或者使用番石榴的explicit ordering,它为你做。