同等のインタフェース機能は、このインタフェースクラスの大きさを比較するための比較対象のサイズ、対象実装compareToメソッドを介してインタフェースを提供する提供します。
このメソッドは、int型、3例を返します。
- 正の数を返し、現在のオブジェクトは、ターゲットオブジェクトよりも大きく、
- 戻り値の負のは、現在のオブジェクトは、ターゲットオブジェクトよりも小さいです
- 戻り値0は、現在のオブジェクトは、ターゲットオブジェクトに等しいです
貯蔵容器が同等TreeSetのオブジェクトサイズの比較のために、これらの機能を実装するカスタムクラス、そうでなければエラーである場合TreeSetのオブジェクトは、(デフォルトの昇順により)ソーティング機能を提供します。
パブリック クラス TestCompareToの実装匹敵<TestCompareTo> { プライベート整数= nullを。 公共TestCompareTo(整数A){ この .A = A。 } パブリック整数下駄は(){ 返します。 } @Override 公共 のint のcompareTo(TestCompareTo 0){ 戻り 、この .A> OA?-1:(この .A == OA 0:1 )。 } }
パブリック クラスのテスト{ 公共 静的 ボイドメイン(文字列[]引数){ // テストTreeSetの セット<TestCompareTo>セット= 新しい TreeSetの<> (); set.add(新しい TestCompareTo(-10 )); set.add(新しい TestCompareTo(-20 )); set.add(新しい TestCompareTo(-30 )); set.add(新しい TestCompareTo(0 )); set.add(新しい TestCompareTo(10 )); set.add(新しい TestCompareTo(-100 )); 反復子反復子 = set.iterator()。 一方、(iterator.hasNext()){ TestCompareTo TMP = (TestCompareTo)iterator.next(); System.out.println(tmp.getA())。 } } }