私は同等のcompareTo
メソッドが入力をどのようにソートするかを理解しようとしています。どのようにソートが動作するのか理解しています
@Override
public int compareTo(Name n) {
int lastCmp = lastName.compareTo(n.lastName);
return (lastCmp != 0 ? lastCmp : firstName.compareTo(n.firstName));
}
Collections.sort
メソッドへの入力配列は次のとおりです:
Name nameArray[] = {
new Name("John","Smith"),
new Name("Karl","Ng"),
new Name("Jeff","Smith"),
new Name("Tom","Rich")
};
List<Name> names = Arrays.asList(nameArray);
Collections.sort(names);
私はcompareTo
方法に取り込まれているものの値を理解していません以下で実装compareTo
方法があります。 (n.lastNameとlastname)の順番は?
コレクションのsortメソッドは、compareToメソッドに基づいてNameデータをソートします。 compareToメソッドは、すべてのNameインスタンスがソートされるまで、2つのNameインスタンスで必要な回数だけ呼び出されます。あなたの4つのインスタンスの例では、compareToメソッドは6回も呼び出すことができます。 –