كيفية معالجة صفيف مشابه لترتيب حسب شرط في 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" }
};
المحلول
سترغب في تمرير أ المقارنة إلى المصفوفات. لم أفعل 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