Come manipolare una matrice simile a una clausola ORDER BY in SQL?
-
21-09-2019 - |
Domanda
I miei dati è stato collocato in un array, ma purtroppo non nell'ordine voglio in ...
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" }
};
Come faccio a manipolare questa matrice in modo che quando ho ciclo attraverso di essa l'ordine è di gran quantità, simile a SELECT * FROM "databaseToArray" ORDER BY "Amount"
aka
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" }
};
Soluzione
Ti consigliamo di passare un comparatore agli array metodo .Sort. Non ho fatto Java in 5 anni, ma dovrebbe essere facilmente fattibile. Forse qualcuno può pulire questo esempio che sto per scrivere, visto che sono abbastanza certo avrò qualcosa di sbagliato.
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]);
}
});
Altri suggerimenti
Ho trovato il metodo di ordinamento sul sito web di elaborazione, ma questo è solo per array monodimensionali ...
http://processing.org/reference/sort_.html
float[] a = { 3, 5, 2, 4, 1 };
a = sort(a);
println(a);
// Prints 1, 2, 3, 4, 5
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow