自定义 Java 按名称排序
Custom Java sort by name
我想这样排序:
给定一个名为字符串的对象的 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) 个数量级
- 可以从外部源填充 HashMap
我想这样排序:
给定一个名为字符串的对象的 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) 个数量级
- 可以从外部源填充 HashMap