2016-11-15 17 views
1

Javaの配列のトピックを見て、java.utilパッケージのArraysクラスの次のメソッドを見つけました。'natural ordering'の意味とcompareTo()メソッドとの関係

void sort(type[] array) 

さらに、私は何かを見つけました。私はそれ以上の説明を求めました。

方法は、それらの 自然順序付けによるアレイ内の要素をソート。

は、私は以下の本に私の疑問を総括してみてください:自然順序付けによって正確に何を

  • を意味しますか?

  • プリミティブと参照型のナチュラルオーダーが異なるのですか?

  • 最後に、Comparable<T>インタフェースのcompareTo()方法が定義され、および/または自然順序付けを上書きしますんか?

+0

_自然順序付け_は、Javaが「Comparable 」インタフェースによって課せられた順序付けを表現するために使用する命名法に過ぎません。 – Jack

答えて

1

具体的に自然順序付けとはどういう意味ですか?

自然順序付けは、compareToComparableで定義される順序です。たとえば、Integerは、当然、最低値から最高値まで順番に並べられます。

`プリミティブと参照型の自然順序付けは異なるのですか?

技術的には、プリミティブの自然順序付け(double,booleanはラッパークラス(Double,Boolean)と同じ順序です。

どうComparableインタフェースのcompareTo()方法が定義および/または自然順序付けをオーバーライドしていますか?

compareToは、「アレイ内のすべての要素はComparableインタフェースを実装する必要があります。」は、Javadocは、理由を説明しているクラスの自然順序付けを定義します

並べ替えを実行する場合は、Comparatorを定義して自然順序付けをオーバーライドします。たとえば、String[]を並べ替えることができますが、Arrays.sort(T[], Comparator<? super T>)を使用します(この場合、TStringになります)。

3

我々はcompareTo(T o)の実装にComparable感謝を拡張するクラスのインスタンスを並べ替えるとき、私たちは、およそ自然順序付けを話。

チェックComparableのJavadocは:

このインタフェースを実装する各クラス のオブジェクトに全体順序付けを強制します。この順序付けは、クラスの 自然順序付けと呼ばれ、クラスのcompareToメソッドは、自然比較メソッドと呼ばれます。

関連する問題