ru.bitel.common

## Class RangeUtils

- java.lang.Object
- - ru.bitel.common.RangeUtils

-     public class RangeUtils
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RangeUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <C extends java.lang.Comparable<C>,R> java.util.List<R>` | `extractListContains(java.util.Collection<R> list, ru.bitel.common.util.Ranger<R,C> ranger, C x, C y)`
    `static <C extends java.lang.Comparable<C>> boolean` | `inRange(C checking1, C checking2, C rangeStart, C rangeEnd)`
    `static <C> boolean` | `inRange(java.util.Comparator<C> comparator, C checking1, C checking2, C rangeStart, C rangeEnd)`
    `static boolean` | `inRange(long checking1, long checking2, long rangeStart, long rangeEnd)`
    `static <C extends java.lang.Comparable<C>> C[]` | `intersectionAnd(C[] result, C x1, C y1, C x2, C y2)` Возвращает пересечение двух отрезков, если оно возникает.
    `static <C> C[]` | `intersectionAnd(C[] result, java.util.Comparator<C> comp, C x1, C y1, C x2, C y2)`
    `static long[]` | `intersectionAnd(long[] result, long x1, long y1, long x2, long y2)` Возвращает пересечение двух отрезков, если оно возникает.
    `static <C extends java.lang.Comparable<C>> C[]` | `intersectionOr(C[] result, C x1, C y1, C x2, C y2)`
    `static <C> C[]` | `intersectionOr(C[] result, java.util.Comparator<C> comp, C x1, C y1, C x2, C y2)` Возвращает сумму двух отрезков, если они пересекаются.
    `static <C extends java.lang.Comparable<C>> boolean` | `intersects(C checking1, C checking2, C rangeStart, C rangeEnd)`
    `static <C> boolean` | `intersects(java.util.Comparator<C> comparator, C checking1, C checking2, C rangeStart, C rangeEnd)`
    `static boolean` | `intersects(long x1, long y1, long x2, long y2)`
    `static <C extends java.lang.Comparable<C>> C` | `max(C x, C y)` Возвращает максимум из двух, при этом null - это минимум.
    `static <C> C` | `max(java.util.Comparator<C> comp, C x, C y)` Возвращает максимум из двух.
    `static <C extends java.lang.Comparable<C>> C` | `maxNull(C x, C y)` Возвращает максимум.
    `static <C> C` | `maxNull(java.util.Comparator<C> comp, C x, C y)` Возвращает максимум из двух.
    `static <C extends java.lang.Comparable<C>> C` | `min(C x, C y)` Возращает минимум.
    `static <C> C` | `min(java.util.Comparator<C> comp, C x, C y)` Возвращает минимум из двух, при этом null - это максимум.
    `static <C extends java.lang.Comparable<C>> C` | `minNull(C x, C y)`
    `static <C> C` | `minNull(java.util.Comparator<C> comp, C x, C y)`
    `static <C extends java.lang.Comparable<C>,R> java.util.List<R>` | `subListContains(java.util.Collection<R> list, ru.bitel.common.util.Matcher<R> matcher, ru.bitel.common.util.Ranger<R,C> ranger, C x, C y)`
    `static <C extends java.lang.Comparable<C>,R> java.util.List<R>` | `subListContains(java.util.Collection<R> list, ru.bitel.common.util.Ranger<R,C> ranger, C x, C y)`
    `static <C extends java.lang.Comparable<C>,R> java.util.List<R>` | `subListIn(java.util.Collection<R> list, ru.bitel.common.util.Ranger<R,C> ranger, C x, C y)`

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

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

- - ### Constructor Detail

    - #### RangeUtils

          public RangeUtils()

  - ### Method Detail

    - #### minNull

          public static <C extends java.lang.Comparable<C>> C minNull(C x,
                                                                      C y)

    - #### min

          public static <C extends java.lang.Comparable<C>> C min(C x,
                                                                  C y)

      Возращает минимум. При этом null - это максимум.
      Type Parameters:
        `C` -
      Parameters:
        `x` -
        `y` -
      Returns:

    - #### minNull

          public static <C> C minNull(java.util.Comparator<C> comp,
                                      C x,
                                      C y)

    - #### min

          public static <C> C min(java.util.Comparator<C> comp,
                                  C x,
                                  C y)

      Возвращает минимум из двух, при этом null - это максимум.
      Type Parameters:
        `C` -
      Parameters:
        `comp` -
        `x` -
        `y` -
      Returns:

    - #### maxNull

          public static <C extends java.lang.Comparable<C>> C maxNull(C x,
                                                                      C y)

      Возвращает максимум. При этом null - это максимум.
      Type Parameters:
        `C` -
      Parameters:
        `x` -
        `y` -
      Returns:

    - #### max

          public static <C extends java.lang.Comparable<C>> C max(C x,
                                                                  C y)

      Возвращает максимум из двух, при этом null - это минимум.
      Type Parameters:
        `C` -
      Parameters:
        `x` -
        `y` -
      Returns:

    - #### maxNull

          public static <C> C maxNull(java.util.Comparator<C> comp,
                                      C x,
                                      C y)

      Возвращает максимум из двух. При этом null - это максимум.
      Type Parameters:
        `C` -
      Parameters:
        `comp` -
        `x` -
        `y` -
      Returns:

    - #### max

          public static <C> C max(java.util.Comparator<C> comp,
                                  C x,
                                  C y)

      Возвращает максимум из двух. При этом null - это максимум.
      Type Parameters:
        `C` -
      Parameters:
        `comp` -
        `x` -
        `y` -
      Returns:

    - #### subListIn

          public static <C extends java.lang.Comparable<C>,R> java.util.List<R> subListIn(java.util.Collection<R> list,
                                                                                          ru.bitel.common.util.Ranger<R,C> ranger,
                                                                                          C x,
                                                                                          C y)

    - #### subListContains

          public static <C extends java.lang.Comparable<C>,R> java.util.List<R> subListContains(java.util.Collection<R> list,
                                                                                                ru.bitel.common.util.Ranger<R,C> ranger,
                                                                                                C x,
                                                                                                C y)

    - #### subListContains

          public static <C extends java.lang.Comparable<C>,R> java.util.List<R> subListContains(java.util.Collection<R> list,
                                                                                                ru.bitel.common.util.Matcher<R> matcher,
                                                                                                ru.bitel.common.util.Ranger<R,C> ranger,
                                                                                                C x,
                                                                                                C y)

    - #### extractListContains

          public static <C extends java.lang.Comparable<C>,R> java.util.List<R> extractListContains(java.util.Collection<R> list,
                                                                                                    ru.bitel.common.util.Ranger<R,C> ranger,
                                                                                                    C x,
                                                                                                    C y)

    - #### intersectionOr

          public static <C extends java.lang.Comparable<C>> C[] intersectionOr(C[] result,
                                                                               C x1,
                                                                               C y1,
                                                                               C x2,
                                                                               C y2)

    - #### intersectionOr

          public static <C> C[] intersectionOr(C[] result,
                                               java.util.Comparator<C> comp,
                                               C x1,
                                               C y1,
                                               C x2,
                                               C y2)

      Возвращает сумму двух отрезков, если они пересекаются.
      Type Parameters:
        `C` -
      Parameters:
        `result` -
        `comp` -
        `x1` -
        `y1` -
        `x2` -
        `y2` -
      Returns:

    - #### intersectionAnd

          public static <C extends java.lang.Comparable<C>> C[] intersectionAnd(C[] result,
                                                                                C x1,
                                                                                C y1,
                                                                                C x2,
                                                                                C y2)

      Возвращает пересечение двух отрезков, если оно возникает.
      Type Parameters:
        `C` -
      Parameters:
        `result` -
        `x1` -
        `y1` -
        `x2` -
        `y2` -
      Returns:

    - #### intersectionAnd

          public static long[] intersectionAnd(long[] result,
                                               long x1,
                                               long y1,
                                               long x2,
                                               long y2)

      Возвращает пересечение двух отрезков, если оно возникает.
      Если аргумент равен 0 - это означает, что он null.
      Type Parameters:
        `C` -
      Parameters:
        `result` -
        `x1` -
        `y1` -
        `x2` -
        `y2` -
      Returns:
      See Also:
        `#min(Comparable, Comparable), {@link #max(Comparable, Comparable)}`

    - #### intersectionAnd

          public static <C> C[] intersectionAnd(C[] result,
                                                java.util.Comparator<C> comp,
                                                C x1,
                                                C y1,
                                                C x2,
                                                C y2)

    - #### inRange

          public static <C extends java.lang.Comparable<C>> boolean inRange(C checking1,
                                                                            C checking2,
                                                                            C rangeStart,
                                                                            C rangeEnd)

    - #### inRange

          public static <C> boolean inRange(java.util.Comparator<C> comparator,
                                            C checking1,
                                            C checking2,
                                            C rangeStart,
                                            C rangeEnd)

    - #### inRange

          public static boolean inRange(long checking1,
                                        long checking2,
                                        long rangeStart,
                                        long rangeEnd)

    - #### intersects

          public static <C extends java.lang.Comparable<C>> boolean intersects(C checking1,
                                                                               C checking2,
                                                                               C rangeStart,
                                                                               C rangeEnd)

    - #### intersects

          public static boolean intersects(long x1,
                                           long y1,
                                           long x2,
                                           long y2)

    - #### intersects

          public static <C> boolean intersects(java.util.Comparator<C> comparator,
                                               C checking1,
                                               C checking2,
                                               C rangeStart,
                                               C rangeEnd)