是否可以使用Arrays.sort()对数组进行排序,然后再将另一个相关数组定位为与排序后的数组相同,例如:

    String arrNames[] = new String[5];
    String arrCellNo[] = new String[arrNames.length];


    String arrNamesSorted[] = new String[arrNames.length];
    System.arraycopy(arrNames, 0, arrNamesSorted, 0, arrNames.length);
    Arrays.sort(arrNamesSorted);


从这一点出发,我想对CellNo数组进行排序,这样,如果“人”具有cellNo“ x”,则对数组arrNames进行排序后,他将具有相同的“ cellNo”“ x”

最佳答案

我会采用另一种方法:


创建一个新对象:

public class Person {
private name;
private cellNo;

// Implement getters and setters
}

创建一个比较器:

public MyComparator implements Comparator<Person> {
     public int compare(Person a, Person b) {

           return a.getName().compareTo(b.getName());
     }
}

Array.sort(persons, new MyComparator())数组上调用Person[] persons = ...

10-08 09:34