1

私のデータは配列に配置されましたが、残念ながら私が望む順序ではありません...

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"     }
};
4

2 に答える 2

2

Comparatorを Arrays.sort メソッドに渡します。私は 5 年間 Java を使っていませんが、簡単にできるはずです。私が書き込もうとしているこの例を誰かがクリーンアップしてくれるかもしれません。

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]);
    }
});
于 2010-02-17T12:25:42.470 に答える