Class BoundedRangeOperation

java.lang.Object
org.miaixz.bus.core.lang.range.BoundedRangeOperation

public class BoundedRangeOperation extends Object
边界区间的操作工具,如子区间、合并区间等
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • BoundedRangeOperation

      public BoundedRangeOperation()
  • Method Details

    • unionIfIntersected

      public static <T extends Comparable<? super T>> BoundedRange<T> unionIfIntersected(BoundedRange<T> boundedRange, BoundedRange<T> other)
      other与当前区间相交,则将其与当前区间合并。
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      other - 另一个区间
      Returns:
      合并后的新区间,若两区间不相交则返回当前集合
    • span

      public static <T extends Comparable<? super T>> BoundedRange<T> span(BoundedRange<T> boundedRange, BoundedRange<T> other)
      获得包含当前区间与指定区间的最小的区间
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      other - 另一个区间
      Returns:
      包含当前区间与指定区间的最小的区间
    • gap

      public static <T extends Comparable<? super T>> BoundedRange<T> gap(BoundedRange<T> boundedRange, BoundedRange<T> other)
      other与当前区间不相连,则获得两区间中间的间隔部分
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      other - 另一个区间
      Returns:
      代表间隔部分的区间,若两区间相交则返回null
    • intersection

      public static <T extends Comparable<? super T>> BoundedRange<T> intersection(BoundedRange<T> boundedRange, BoundedRange<T> other)
      other与当前区间相交,则获得该区间与当前区间的交集
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      other - 另一个区间
      Returns:
      代表交集的区间,若无交集则返回null
    • subGreatThan

      public static <T extends Comparable<? super T>> BoundedRange<T> subGreatThan(BoundedRange<T> boundedRange, T min)
      截取当前区间中大于min的部分,若min不在该区间中,则返回当前区间本身
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      min - 最大的左值
      Returns:
      区间
    • subAtLeast

      public static <T extends Comparable<? super T>> BoundedRange<T> subAtLeast(BoundedRange<T> boundedRange, T min)
      截取当前区间中大于等于min的部分,若min不在该区间中,则返回当前区间本身
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      min - 最大的左值
      Returns:
      区间
    • subLessThan

      public static <T extends Comparable<? super T>> BoundedRange<T> subLessThan(BoundedRange<T> boundedRange, T max)
      截取当前区间中小于max的部分,若max不在该区间中,则返回当前区间本身
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      max - 最大的左值
      Returns:
      区间
    • subAtMost

      public static <T extends Comparable<? super T>> BoundedRange<T> subAtMost(BoundedRange<T> boundedRange, T max)
      截取当前区间中小于等于max的部分,若max不在该区间中,则返回当前区间本身
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      max - 最大的左值
      Returns:
      区间
    • isIntersected

      public static <T extends Comparable<? super T>> boolean isIntersected(BoundedRange<T> boundedRange, BoundedRange<T> other)
      boundedRange是否与other相交
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      other - 另一个区间
      Returns:
      是否相交
    • isDisjoint

      public static <T extends Comparable<? super T>> boolean isDisjoint(BoundedRange<T> boundedRange, BoundedRange<T> other)
      boundedRange是否与other前区间不相交
      Type Parameters:
      T - 可比较对象类型
      Parameters:
      boundedRange - 区间
      other - 另一个区间
      Returns:
      是否