Я хочу отсортировать массив пар целых чисел.До сих пор я был в состоянии отсортировать их по первому элементу, но я получил что-то вроде (1,2), (1, -2).Я также хочу отсортировать их по второму элементу, чтобы получить правильный отсортированный массив, но я не могу заставить его работать.
Код сортировки первого элемента:
private class FirstElmComparator implements Comparator<Pair> {
public int compare(Pair pr1, Pair pr2) {
return pr1.compareFirstElms(pr2);
}
}
и функция compareFirstElms следующие:
protected int compareFirstElms (Pair p) {
return (new Integer (this.p1)).compareTo(new Integer (p.p1));
}
Я могу представить второй элемент сравнения следующим:
private class SecondElmComparator implements Comparator<Pair> {
public int compare(Pair pr1, Pair pr2) {
return pr1.compareSecondElms(pr2);
}
}
protected int compareSecondElms (Pair p) {
return (new Integer (this.p2)).compareTo(new Integer (p.p2));
}
ПРИМЕЧАНИЕ.второй элемент в паре.
Но я думаю, что он переопределит порядок сортировки первого элемента, или я ошибаюсь?Кто-нибудь может мне помочь с этим.