我想对这样的东西进行排序:
给定一个名为 String 的对象 ArrayList,我正在尝试编写compareTo
函数,以便Special T
始终是第一个,Special R
总是第二,Special C
总是第三个,然后其他一切都只是按字母顺序排列:
Special T
Special R
Special C
Aaron
Alan
Bob
Dave
Ron
Tom
有没有一种标准方法来编写这种比较函数,而无需迭代特殊情况之间的所有可能组合,然后在非特殊情况下调用return getName().compareTo(otherObject).getName());
?
我会把特殊情况放在一个HashMap<String, Integer>
中,名称作为键,位置作为值。 优点是:
- 搜索量级为 O(1(
- 哈希图可以从外部源填充