Package org.aoju.bus.core.collection
package org.aoju.bus.core.collection
集合以及Iterator封装
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescription实现一个
Iterator任何数组的迭代器 数组可以是对象数组,也可以是基元数组 如果你知道 class是更好的选择,因为它会表现得更好 迭代器实现了一个ArrayIterator.reset()方法,允许重置 如果需要,迭代器返回到开始带有计算属性的遍历器 通过继承此抽象遍历器,实现ComputeIterator.computeNext()计算下一个节点,即可完成节点遍历 当调用ComputeIterator.hasNext()时将此方法产生的节点缓存,直到调用ComputeIterator.next()取出 当无下一个节点时,须返回null表示遍历结束通过ConcurrentHashMap实现的线程安全Enumeration对象转Iterator对象将Reader包装为一个按照行读取的Iterator 此对象遍历结束后,应关闭之,推荐使用方式:分批迭代工具,可以分批处理数据 比如调用其他客户的接口,传入的入参有限,需要分批 比如mysql/oracle用in语句查询,超过1000可以分批 比如数据库取出游标,可以把游标里的数据一批一批处理有界优先队列 按照给定的排序规则,排序元素,当队列满时, 按照给定的排序规则淘汰末尾元素SimpleCollector<T,A, R> 简单Collector接口实现TransitionCollection<F,T> 使用给定的转换函数,转换源集合为新类型的集合使用给定的转换函数,转换源Spliterator为新类型的SpliteratorTransitionIterator<F,T> 转换迭代器UniqueKeySet<K,V> 唯一键的Set 通过自定义唯一键,通过UniqueKeySet.uniqueGenerator生成节点对象对应的键作为Map的key,确定唯一 此Set与HashSet不同的是,HashSet依赖于Object.equals(Object)确定唯一 但是很多时候我们无法对对象进行修改,此时在外部定义一个唯一规则,即可完成去重