我需要2个宗派数组排序

时间:2017-04-25 19:34:20

标签: java arrays sorting

我正在开发一个包含学生姓名和号码列表的项目,例如

詹姆斯博格斯,1 Paul Jonson,43岁 Andt Peters,23岁

一旦我将它们放入数组中,我就需要对它们进行排序。

解决这个问题的最佳方式是什么?它不是我坚持引用数字的名称。我想如果我做一个2教派数组,只有一个会被排序。

任何帮助都会很棒,

1 个答案:

答案 0 :(得分:1)

编辑:我刚刚意识到这个问题是关于一个二维数组,我的答案并没有直接处理。我怀疑阵列应该参与其中。数组通常用于处理原始数据,也许如果你来自C背景,你认为它们是自然而然的东西。如果你真的必须使用数组,那么这可能不是最佳选择。

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();

}

如果您需要更有条理和更复杂,可以将名称和编号封装到具有名称和编号属性的类中。然后您仍然使用该数字作为键,但您必须将完整的类作为值。如果您需要的不仅仅是姓名,如姓氏,名字,地址等,请执行此操作。