Как манипулировать массивом, похожим на предложение ORDER BY в SQL?
-
21-09-2019 - |
Вопрос
Мои данные были помещены в массив, но, к сожалению, не в том порядке, в котором я хочу...
String[][] databaseToArray = {
//{"Name", "Channel", "Description", "Amount", "isReady"},
{"John", "Nick", "likes", "2", "yes" },
{"Drew", "MTV", "dislikes", "4", "no" },
{"Fred", "CNN", "okay", "3", "no" },
{"Beth", "Fox", "valid", "1", "yes" }
};
Как мне манипулировать этим массивом, чтобы при его переборе порядок был по сумме, аналогично SELECT * FROM "databaseToArray" ORDER BY "Amount"
он же
String[][] reorganizedArray = {
//{"Name", "Channel", "Description", "Amount", "isReady"},
{"Beth", "Fox", "valid", "1", "yes" },
{"John", "Nick", "likes", "2", "yes" },
{"Fred", "CNN", "okay", "3", "no" },
{"Drew", "MTV", "dislikes", "4", "no" }
};
Решение
Вы захотите пройти Компаратор к методу Arrays.sort.Я не занимался Java уже 5 лет, но это должно быть легко выполнимо.Может быть, кто-нибудь сможет подправить этот пример, который я собираюсь написать, поскольку я почти уверен, что сделаю что-то не так.
String[][] databaseToArray = {
//{"Name", "Channel", "Description", "Amount", "isReady"},
{"John", "Nick", "likes", "2", "yes" },
{"Drew", "MTV", "dislikes", "4", "no" },
{"Fred", "CNN", "okay", "3", "no" },
{"Beth", "Fox", "valid", "1", "yes" }
};
Arrays.sort(databaseToArray, new Comparator<String[]>() {
public int compare(String[] a, String[] b) {
return a[3].compareTo(b[3]);
}
});
Другие советы
Я нашел метод сортировки на сайте обработки, но это только для одномерных массивов...
http://processing.org/reference/sort_.html
float[] a = { 3, 5, 2, 4, 1 };
a = sort(a);
println(a);
// Prints 1, 2, 3, 4, 5
Не связан с StackOverflow