В ArrayList У меня есть три двойных [] массива, которые я хочу сортировать по третьему массиву. Третий массив также несортирован.Сортировка трех массивов по индексу ArrayList (строка) на одном массиве
public class LevelList extends ArrayList<double[]> {
Мой компаратор compares doubles:
import java.util.Comparator;
public class Linearize {
static final Comparator<double[]> RATIO_ORDER =
new Comparator<double[]>() {
@Override
public int compare(double[] d1, double[] d2) {
//Sort the ratios based on the fraction column 2
return Double.compare(d1[2], d2[2]);
}
};
}
Я тогда звоните:
Collections.sort(levelList, Linearize.RATIO_ORDER);
levelList.println();
Однако, это только приводит к сортировке порядка массивов в ArrayList.
В псевдокоде, что я хочу достичь, это:
For Each Row of ArrayList at Index i
Sort on Array 3
Так что этот вход:
[1.0][2.0][2.1]
[2.0][5.0][2.2]
[1.0][5.0][1.0]
становится:
[1.0][5.0][1.0]
[1.0][2.0][2.1]
[2.0][5.0][2.2]
потому что: 2.2> 2.1> 1.0
Какой желаемый выход? – Eran
Я продемонстрировал это под «становится:» выше. Каждый массив должен быть представлен в столбце, отсортированном по третьему. – noumenal
Я думал, что это был результат, который вы уже получили. – Eran