配列リスト[Mod8, Mod5, Mod9, Mod10]
と整数配列があり[1, 0, 2, 3]
ます。[Mod5, Mod8, Mod9, Mod10]
整数配列の数値に応じた出力リストが必要です。これを行う方法のアイデアはありますか?
質問する
89 次
3 に答える
2
List<String> original = new ArrayList<String>();
original.add("Mod8");
original.add("Mod5");
original.add("Mod9");
original.add("Mod10");
int[] sortIndexArray = new int[] { 1, 0, 2, 3 };
List<String> sorted = new ArrayList<String>(original.size());
for (int i = 0; i < sortIndexArray.length; i++) {
sorted.add(original.get(sortIndexArray[i]));
}
System.out.println(sorted); // [Mod5, Mod8, Mod9, Mod10]
于 2012-08-20T19:04:50.233 に答える
1
あなたの2つのリストは強く結びついているように見えるので、Pair<Int,String>
それらを結び付けるオブジェクトを作成し、そのPair
オブジェクトのコンパレータを作成します。
そうしないと、変更時に 2 つの同期を維持する必要があり、問題が発生します。
于 2012-08-20T19:10:23.850 に答える
0
1つの方法は、同等のインターフェースを実装するクラスを作成することです。次に、整数値を使用してcompareTo()関数をオーバーライドし、必要な方法でそれらを比較します。お役に立てば幸いです。
于 2012-08-20T19:12:07.767 に答える