SequenceIterator
SequenceIterator 用于遍历序列字段。请注意,迭代是以分块模式进行的,也就是说,每次迭代会获取多个序列项。
您可以使用 tileItems() 方法获取当前瓦片中的所有项目。主要的迭代方法是 nextTile(),它会将迭代器定位到下一个瓦片。瓦片的大小取决于具体实现,默认情况下为 100 个项目,但在序列末尾时,瓦片可能会包含更少的项目。
另一种迭代方式是使用 get() 方法。此方法会将项目提取到您提供的数组中。如果您希望逐项(标量模式)进行迭代,可以传递一个大小为 1 的数组给 get() 方法。
类定义
public class SequenceIterator implements java.io.Closeable
{
long handle;
SequenceIterator(long hnd)
{
handle = hnd;
}
// Iterator Methods
public int get(Object buffer) {…};
public Object next() {…};
public int nextInt() {…};
public long nextLong() {…};
public float nextFloat() {…};
public byte[] nextBytes() {…};
public String nextString() {…};
public Date nextDate() {…};
public long firstPosition() {…};
public long lastPosition() {…};
public long nextPosition() {…};
public boolean nextTile() {…};
public int elemSize() {…};
public Object tileItems() {…};
public Sequence.Type type() {…};
static native public boolean isRLE() {…};
public int itemRepeatCount(int i) {…};
public SequenceIterator rleDecode() {…};
public void reset() {…};
public void close() {…};
// Top Operations
public SequenceIterator topMax(int top) {…};
public SequenceIterator topMin(int top) {…};
public SequenceIterator topPosMax(int top) {…};
public SequenceIterator topPosMin(int top) {…};
// Unary Operations
public SequenceIterator abs() {…};
public SequenceIterator neq() {…};
public SequenceIterator match(String pattern) {…};
// Binary Operations
public SequenceIterator add(SequenceIterator other) {…};
public SequenceIterator sub(SequenceIterator other) {…};
public SequenceIterator div(SequenceIterator other) {…};
public SequenceIterator mul(SequenceIterator other) {…};
public SequenceIterator mod(SequenceIterator other) {…};
public SequenceIterator max(SequenceIterator other) {…};
public SequenceIterator min(SequenceIterator other) {…};
// Comparison_Operators
public SequenceIterator eq(SequenceIterator other) {…};
public SequenceIterator ne(SequenceIterator other) {…};
public SequenceIterator lt(SequenceIterator other) {…};
public SequenceIterator gt(SequenceIterator other) {…};
public SequenceIterator le(SequenceIterator other) {…};
public SequenceIterator ge(SequenceIterator other) {…};
// Logical Operators
public SequenceIterator and(SequenceIterator other) {…};
public SequenceIterator or(SequenceIterator other) {…};
public SequenceIterator xor(SequenceIterator other) {…};
public SequenceIterator not() {…};
// Collapse Operations
public SequenceIterator wsum(SequenceIterator weights) {…};
public SequenceIterator wavg(SequenceIterator weights) {…};
public SequenceIterator cov(SequenceIterator other) {…};
public SequenceIterator corr(SequenceIterator other) {…};
// Conditional Operations
public SequenceIterator iif(SequenceIterator then,
SequenceIterator otherwise, boolean lazy) {…};
public SequenceIterator filter(SequenceIterator cond) {…};
public SequenceIterator filterPos() {…};
// Grand Aggregate
public SequenceIterator aggCount() {…};
public SequenceIterator aggMax() {…};
public SequenceIterator aggMin() {…};
public SequenceIterator aggSum() {…};
public SequenceIterator aggPrd() {…};
public SequenceIterator aggAvg() {…};
public SequenceIterator aggVar() {…};
public SequenceIterator aggDev() {…};
public SequenceIterator aggVarSamp() {…};
public SequenceIterator aggDevSamp() {…};
public SequenceIterator aggApproxDC() {…};
public SequenceIterator aggApproxHashDC() {…};
public SequenceIterator aggMinMax() {…};
// Group-By Aggregate
public SequenceIterator groupAggWavg(SequenceIterator weight, SequenceIterator groupBy) {…};
public SequenceIterator groupAggMax(SequenceIterator groupBy) {…};
public SequenceIterator groupAggMin(SequenceIterator groupBy) {…};
public SequenceIterator groupAggSum(SequenceIterator groupBy) {…};
public SequenceIterator groupAggAvg(SequenceIterator groupBy) {…};
public SequenceIterator groupAggVar(SequenceIterator groupBy) {…};
public SequenceIterator groupAggDev(SequenceIterator groupBy) {…};
public SequenceIterator groupAggVarSamp(SequenceIterator groupBy) {…};
public SequenceIterator groupAggDevSamp(SequenceIterator groupBy) {…};
public SequenceIterator groupAggFirst(SequenceIterator groupBy) {…};
public SequenceIterator groupAggLast(SequenceIterator groupBy) {…};
public SequenceIterator groupAggCount() {…};
public SequenceIterator groupAggApproxDC(SequenceIterator groupBy) {…};
public SequenceIterator groupAggApproxHashDC(SequenceIterator groupBy) {…};
// Grid Aggregate
public SequenceIterator gridAggMax(int interval) {…};
public SequenceIterator gridAggMin(int interval) {…};
public SequenceIterator gridAggSum(int interval) {…};
public SequenceIterator gridAggAvg(int interval) {…};
public SequenceIterator gridAggVar(int interval) {…};
public SequenceIterator gridAggDev(int interval) {…};
public SequenceIterator gridAggVarSamp(int interval) {…};
public SequenceIterator gridAggDevSamp(int interval) {…};
// Window Aggregate
public SequenceIterator windowAggMax(int interval) {…};
public SequenceIterator windowAggMin(int interval) {…};
public SequenceIterator windowAggSum(int interval) {…};
public SequenceIterator windowAggAvg(int interval) {…};
public SequenceIterator windowAggVar(int interval) {…};
public SequenceIterator windowAggDev(int interval) {…};
public SequenceIterator windowAggVarSamp(int interval) {…};
public SequenceIterator windowAggDevSamp(int interval) {…};
public SequenceIterator windowAggEma(int period) {…};
public SequenceIterator windowAggAtr(int period) {…};
// Hash Aggregate
public GroupByResult hashAggMax(SequenceIterator groupBy, int nGroups) {…};
public GroupByResult hashAggMin(SequenceIterator groupBy, int nGroups) {…};
public GroupByResult hashAggSum(SequenceIterator groupBy, int nGroups) {…};
public GroupByResult hashAggAvg(SequenceIterator groupBy, int nGroups) {…};
public GroupByResult hashAggCount(int nGroups) {…};
public GroupByResult hashAggApproxdc(SequenceIterator groupBy, int nGroups) {…};
public GroupByResult hashAggDistinctCount(SequenceIterator groupBy, int nGroups, int nPairs) {…};
public GroupByResult hashAggDupCount(SequenceIterator groupBy, int nGroups, int nPairs, int minOccurrences) {…};
// Cumulative Aggregate
public SequenceIterator cumAggMax() {…};
public SequenceIterator cumAggMin() {…};
public SequenceIterator cumAggSum() {…};
public SequenceIterator cumAggPrd() {…};
public SequenceIterator cumAggAvg() {…};
public SequenceIterator cumAggVar() {…};
public SequenceIterator cumAggDev() {…};
public SequenceIterator cumAggVarSamp() {…};
public SequenceIterator cumAggDevSamp() {…};
// Sequence Manipulator Operations
public static SequenceIterator parse(String val, Sequence.Type type) {…};
public SequenceIterator map(SequenceIterator positions) {…};
public SequenceIterator[] tee()
public static SequenceIterator constant(double val, Sequence.Type type) {…};
public static SequenceIterator constant(long val, Sequence.Type type) {…};
public static SequenceIterator constant(byte[] val, Sequence.Type type) {…};
public SequenceIterator concat(SequenceIterator tail) {…};
public SequenceIterator cat(SequenceIterator other) {…};
public SequenceIterator unique() {…};
public SequenceIterator normalize() {…};
public SequenceIterator thin(long origin, long step) {…};
public SequenceIterator limit(long from, long till) {…};
public SequenceIterator reverse() {…};
public SequenceIterator diff() {…};
public SequenceIterator trend() {…};
public SequenceIterator repeat(int count) {…};
public SequenceIterator stretch(SequenceIterator ts1, SequenceIterator ts2, long filler) {…};
public SequenceIterator stretch(SequenceIterator ts1, SequenceIterator ts2, double filler) {…};
public SequenceIterator stretch0(SequenceIterator ts1, SequenceIterator ts2, long filler) {…};
public SequenceIterator stretch0(SequenceIterator ts1, SequenceIterator ts2, double filler) {…};
public SequenceIterator asofJoin(SequenceIterator ts1, SequenceIterator ts2) {…};
public SequenceIterator cross(int firstCrossDirection) {…};
public SequenceIterator extrema(int firstExtremum) {…};
public SequenceIterator hash() {…};
public SequenceIterator hash(SequenceIterator other) {…};
// Conversion
public SequenceIterator cast(Sequence.Type type) {…};
// Miscellaneous
public SequenceIterator histogram(long low, long high, int nIntervals) {…};
public SequenceIterator histogram(double low, double high, int nIntervals) {…};
public void sort(Object arr, long[] permutation, Sequence.Order order) {…};
};
方法
SequenceIterator
SequenceIterator(long hnd):构造函数:返回一个 SequenceIterator 实例
迭代函数
迭代方法用于提取和遍历对象的序列元素,确定序列元素类型、大小以及在迭代器序列中的位置,确定序列的分块大小,对于 RLE 编码的序列,确定重复计数或将其解码为非 RLE 序列。
顶部函数
topMax(), topMin(), topPosMax(), topPosMin()
顶部方法 生成包含最大或最小的 n 个元素或其位置的结果序列。
一元函数
一元方法返回绝对值序列、负值序列或一个布尔序列,该布尔序列指示与给定字符串匹配的元素。
二进制函数
add(), sub(), mul(), div(), mod(), max(), min()
二进制方法,用于返回执行指定操作所得结果的序列。
比较函数
eq(), ne(), gt(), ge(), lt() le()
通过将指定的比较运算符应用于对象的序列和输入序列中的对应元素,返回布尔结果序列的比较方法。
逻辑函数
通过在对象序列和输入序列中的对应元素上应用指定操作,返回布尔结果序列的逻辑方法。
合并函数
通过在对象的序列和输入序列中的对应元素上应用指定的操作,将返回布尔结果序列的折叠方法合并起来。
条件函数
条件方法通过在对象序列和输入序列中的对应元素上应用指定操作来返回布尔结果序列。
总和函数
Grand Aggregate方法返回双SequenceIterator,其第一个元素是操作结果。
分组聚合函数
分组聚合方法会生成一个结果序列,其中包含每个组的计算聚合值。
网格聚合函数
网格聚合方法生成一个结果序列,其中包含每个区间的计算聚合值。
窗口聚合函数
窗口聚合方法会生成一个结果序列,其中包含每个窗口计算出的聚合值。对于 windowAggEma() 和 windowAggAtr() 方法,序列中的第一个元素即为操作结果。
哈希聚合函数
哈希聚合方法会为分组值生成一个 GroupByResult,然后可以通过调用 getIterator() 方法将其转换为 SequenceIterator。
累积聚合函数
累积聚合方法生成的结果序列中,每个元素的值都是对所有先前元素执行指定操作的结果。
序列操纵函数
操纵方法会产生各种不同的序列结果。
转换函数
转换方法会生成所需类型的序列结果。
其他函数
各种方法生成一个表示输入序列值直方图的序列结果,或者对序列进行排序。