我有一些课程,我需要为此实施
compareTo
我需要特定的顺序,例如(伪代码):
static List: item1 item2 item3 ...
我想使用
List.indexOf(itemN) and compare to List.indexOf(itemM)
这个解决方案可以接受吗?
我有一些课程,我需要为此实施
compareTo
我需要特定的顺序,例如(伪代码):
static List: item1 item2 item3 ...
我想使用
List.indexOf(itemN) and compare to List.indexOf(itemM)
这个解决方案可以接受吗?
是的,这是可以接受的,但除非您的列表非常小,否则效率会非常低。实际上,每次比较两个元素时,它都必须遍历列表以找到第一个元素的索引,然后再次迭代以找到另一个元素的索引。这将是非常低效的。
您最好将 转换List<Item>
为HashMap<Item, Integer>
保存列表中每个项目的索引。或者使用 Guava 的显式排序,它可以为你做到这一点。