Zirakの助けに感謝します。以前の投稿では、JavaScript で次のように実装しました。
var arr1 =[0,1,2,3];
var arr2 =["ac", "bc", "ad", "e"];
var result = arr1 .sort(function(i, j){return arr2[i].localeCompare(arr2[j])})
document.write(result );
これを実現する方法は、JavaScript では非常にコンパクトですが、これを Java で実装することも、このような単純さで実現できますか? 次のような Comparable インターフェースの実装しか考えられませんでした。
public class testCompare {
public static String[] arr2={"ac", "bc", "ad", "e"};
public static Obj[] arr1={new Obj(0), new Obj(1), new Obj(2), new Obj(3)};
static class Obj implements Comparable{
int index=0;
public Obj(int i){
index=i;
}
@Override
public int compareTo(Object o) {
return arr2[index].compareTo(arr2[((Obj)o).index]);
}
}
}
しかし、配列に X 個の項目がある場合、X 個の Objs を作成する必要があります。これをより簡単に達成できる別の方法はありますか? 別の質問は、上記の方法を実行した場合、Java と JavaScript の両方でソートの時間の複雑さはどれくらいになるかということO(n^2)
です。どうもありがとう