Class BooleanComparator

    • Constructor Summary

      Constructors 
      Constructor Description
      BooleanComparator()
      Creates a BooleanComparator that sorts false values before true values.
      BooleanComparator​(boolean trueFirst)
      Creates a BooleanComparator that sorts trueFirst values before !trueFirst values.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static BooleanComparator booleanComparator​(boolean trueFirst)
      Returns a BooleanComparator instance that sorts trueFirst values before !trueFirst values.
      int compare​(java.lang.Boolean b1, java.lang.Boolean b2)
      Compares two non-null Boolean objects according to the value of sortsTrueFirst().
      boolean equals​(java.lang.Object object)
      Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.
      static BooleanComparator getFalseFirstComparator()
      Returns a BooleanComparator instance that sorts false values before true values.
      static BooleanComparator getTrueFirstComparator()
      Returns a BooleanComparator instance that sorts true values before false values.
      int hashCode()
      Implement a hash code for this comparator that is consistent with equals.
      boolean sortsTrueFirst()
      Returns true iff I sort true values before false values.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • BooleanComparator

        public BooleanComparator()
        Creates a BooleanComparator that sorts false values before true values.

        Equivalent to BooleanComparator(false).

        Please use the static factory instead whenever possible.

      • BooleanComparator

        public BooleanComparator​(boolean trueFirst)
        Creates a BooleanComparator that sorts trueFirst values before !trueFirst values.

        Please use the static factories instead whenever possible.

        Parameters:
        trueFirst - when true, sort true boolean values before false
    • Method Detail

      • getTrueFirstComparator

        public static BooleanComparator getTrueFirstComparator()
        Returns a BooleanComparator instance that sorts true values before false values.

        Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

        Returns:
        the true first singleton BooleanComparator
      • getFalseFirstComparator

        public static BooleanComparator getFalseFirstComparator()
        Returns a BooleanComparator instance that sorts false values before true values.

        Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

        Returns:
        the false first singleton BooleanComparator
      • booleanComparator

        public static BooleanComparator booleanComparator​(boolean trueFirst)
        Returns a BooleanComparator instance that sorts trueFirst values before !trueFirst values.

        Clients are encouraged to use the value returned from this method instead of constructing a new instance to reduce allocation and garbage collection overhead when multiple BooleanComparators may be used in the same virtual machine.

        Parameters:
        trueFirst - when true, sort true Booleans before false
        Returns:
        a singleton BooleanComparator instance
        Since:
        4.0
      • compare

        public int compare​(java.lang.Boolean b1,
                           java.lang.Boolean b2)
        Compares two non-null Boolean objects according to the value of sortsTrueFirst().
        Specified by:
        compare in interface java.util.Comparator<java.lang.Boolean>
        Parameters:
        b1 - the first boolean to compare
        b2 - the second boolean to compare
        Returns:
        negative if obj1 is less, positive if greater, zero if equal
        Throws:
        java.lang.NullPointerException - when either argument null
      • hashCode

        public int hashCode()
        Implement a hash code for this comparator that is consistent with equals.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        a hash code for this comparator.
      • equals

        public boolean equals​(java.lang.Object object)
        Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.

        This implementation returns true iff that is a BooleanComparator whose value of sortsTrueFirst() is equal to mine.

        Specified by:
        equals in interface java.util.Comparator<java.lang.Boolean>
        Overrides:
        equals in class java.lang.Object
        Parameters:
        object - the object to compare to
        Returns:
        true if equal
      • sortsTrueFirst

        public boolean sortsTrueFirst()
        Returns true iff I sort true values before false values. In other words, returns true iff compare(Boolean.FALSE,Boolean.TRUE) returns a positive value.
        Returns:
        the trueFirst flag