我正在开发一个包含学生姓名和号码列表的项目,例如
詹姆斯博格斯,1 Paul Jonson,43岁 Andt Peters,23岁一旦我将它们放入数组中,我就需要对它们进行排序。
解决这个问题的最佳方式是什么?它不是我坚持引用数字的名称。我想如果我做一个2教派数组,只有一个会被排序。
任何帮助都会很棒,
答案 0 :(得分:1)
https://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html
public void foo(){
// Use a TreeMap. It will sort keys on insertion.
Map<Integer,String> nameByNumber = new TreeMap<>();
nameByNumber.put(1, "James Boggs");
// etc. put all the entries in however you need to
List<Integer> sortedNumbers = personByNumber.getKeys();
List<String> namesSortedByNumber = personByNumber.getNames();
}
如果您需要更有条理和更复杂,可以将名称和编号封装到具有名称和编号属性的类中。然后您仍然使用该数字作为键,但您必须将完整的类作为值。如果您需要的不仅仅是姓名,如姓氏,名字,地址等,请执行此操作。