All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.andyshao.util.FloatArraySpliterator Maven / Gradle / Ivy

The newest version!
package com.github.andyshao.util;

import java.util.Objects;
import java.util.Spliterator;
import java.util.function.Consumer;

import lombok.Builder;

/**
 * 
 * Title:
* Descript:
* Copyright: Copryright(c) Nov 15, 2019
* Encoding: UNIX UTF-8 * * @author Andy.Shao * */ @Builder public class FloatArraySpliterator implements Spliterator { private final float[] array; private int index; private final int fence; private final int characteristics; @Override public boolean tryAdvance(Consumer action) { Objects.requireNonNull(action); if(this.index < this.fence) { float item = this.array[this.index++]; action.accept(item); return true; } return false; } @Override public Spliterator trySplit() { int mid = (this.index + this.fence) >>> 1, ol = this.index; return (ol >= mid) ? null : new FloatArraySpliterator(array, this.index = mid, ol, characteristics); } @Override public long estimateSize() { return this.fence - this.index; } @Override public int characteristics() { return this.characteristics; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy