net.i2p.router.peermanager

## Class InverseCapacityComparator

- java.lang.Object
- - net.i2p.router.peermanager.InverseCapacityComparator

- All Implemented Interfaces:
    Serializable, Comparator<PeerProfile>

      class InverseCapacityComparator
      extends Object
      implements Comparator<PeerProfile>, Serializable

  Order profiles by their capacity, but backwards (highest capacity / value first).

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InverseCapacityComparator()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compare(PeerProfile left, PeerProfile right)` Compare the two objects backwards.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface java.util.Comparator

      `comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong`

- - ### Constructor Detail

    - #### InverseCapacityComparator

          InverseCapacityComparator()

  - ### Method Detail

    - #### compare

          public int compare(PeerProfile left,
                             PeerProfile right)

      Compare the two objects backwards. The standard comparator returns -1 if lhs is less than rhs, 1 if lhs is greater than rhs, or 0 if they're equal. To keep a strict ordering, we measure peers with equal capacity values according to their speed
      Specified by:
        `compare` in interface `Comparator<PeerProfile>`
      Returns:
        -1 if the right hand side is smaller, 1 if the left hand side is smaller, or 0 if they are the same peer (Comparator.compare() inverted)