Class CircularPager

  • All Implemented Interfaces:

    
    public abstract class CircularPager<T>
    
                        

    循环分页工具, 非并发安全(曾尝试进行并发安全处理, 但失败了)

    • Constructor Detail

    • Method Detail

      • fromImmutableIterable

         static <T> CircularPager<T> fromImmutableIterable(@NonNull() Iterable<T> handle, int pageSize, @Nullable() Predicate<T> filter)

        根据一个不可变 Iterable 创建循环分页工具. 元素顺序为迭代器遍历顺序. 此后对该 Iterable 的任何修改将无法反应到已创建的循环分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页 Iterable
        pageSize - 页大小
        filter - 元素过滤器
        Returns:

        分页工具

      • fromImmutableArray

         static <T> CircularPager<T> fromImmutableArray(Array<T> handle, int pageSize, @Nullable() Predicate<T> filter)

        根据一个不可变数组创建循环分页工具. 元素顺序为数组顺序. 此后对该数组的任何修改将无法反应到已创建的循环分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页数组
        pageSize - 页大小
        filter - 元素过滤器
        Returns:

        分页工具

      • fromMutableList

         static <T> CircularPager<T> fromMutableList(@NonNull() List<T> handle, int pageSize, @Nullable() Predicate<T> filter)

        根据一个可变 List 创建循环分页工具. 元素顺序为迭代器遍历顺序. 此后对该 List 的任何修改将即时反应于已创建的循环分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页 List
        pageSize - 页大小
        filter - 元素过滤器
        Returns:

        分页工具

      • fromMutableNavSet

         static <T> CircularPager<T> fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize, @Nullable() Predicate<T> filter)

        根据一个可变 NavigableSet 创建循环分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableSet 的任何修改将即时反应于已创建的循环分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页 Set
        pageSize - 页大小
        filter - 元素过滤器
        Returns:

        分页工具

      • fromMutableNavMap

         static <K, V> CircularPager<Map.Entry<K, V>> fromMutableNavMap(@NonNull() NavigableMap<K, V> handle, int pageSize, @Nullable() Predicate<Map.Entry<K, V>> filter)

        根据一个可变 NavigableMap 创建循环分页工具. 元素顺序为迭代器遍历顺序. 此后对该 NavigableMap 的任何修改将即时反应于已创建的循环分页工具中. pageSize 小于等于 0 时将自动变为 1.

        Parameters:
        handle - 待分页 Map
        pageSize - 页大小
        filter - 元素过滤器
        Returns:

        分页工具

      • getPageSize

         final int getPageSize()

        获取分页大小

        Returns:

        分页大小

      • moveOffset

         abstract void moveOffset(int delta)

        移动偏移

        Parameters:
        delta - 偏移移动量