Class CircularPager
-
- All Implemented Interfaces:
public abstract class CircularPager<T>循环分页工具, 非并发安全(曾尝试进行并发安全处理, 但失败了)
-
-
Method Summary
Modifier and Type Method Description static <T> CircularPager<T>fromImmutableIterable(@NonNull() Iterable<T> handle, int pageSize, @Nullable() Predicate<T> filter)根据一个不可变 Iterable 创建循环分页工具. static <T> CircularPager<T>fromImmutableArray(Array<T> handle, int pageSize, @Nullable() Predicate<T> filter)根据一个不可变数组创建循环分页工具. static <T> CircularPager<T>fromMutableList(@NonNull() List<T> handle, int pageSize, @Nullable() Predicate<T> filter)根据一个可变 List 创建循环分页工具. static <T> CircularPager<T>fromMutableNavSet(@NonNull() NavigableSet<T> handle, int pageSize, @Nullable() Predicate<T> filter)根据一个可变 NavigableSet 创建循环分页工具. static <K, V> CircularPager<Map.Entry<K, V>>fromMutableNavMap(@NonNull() NavigableMap<K, V> handle, int pageSize, @Nullable() Predicate<Map.Entry<K, V>> filter)根据一个可变 NavigableMap 创建循环分页工具. final intgetPageSize()获取分页大小 abstract voidresetOffset()重置偏移 abstract voidmoveOffset(int delta)移动偏移 abstract List<T>getCurrentPageElements()获取当前页的元素列表 intgetTotalPages()获取总页数 abstract intgetTotalElements()获取总元素数 -
-
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- 待分页 IterablepageSize- 页大小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- 待分页 ListpageSize- 页大小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- 待分页 SetpageSize- 页大小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- 待分页 MappageSize- 页大小filter- 元素过滤器- Returns:
分页工具
-
getPageSize
final int getPageSize()
获取分页大小
- Returns:
分页大小
-
resetOffset
abstract void resetOffset()
重置偏移
-
moveOffset
abstract void moveOffset(int delta)
移动偏移
- Parameters:
delta- 偏移移动量
-
getCurrentPageElements
@NonNull() abstract List<T> getCurrentPageElements()
获取当前页的元素列表
-
getTotalPages
int getTotalPages()
获取总页数
-
getTotalElements
abstract int getTotalElements()
获取总元素数
-
-
-
-