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

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

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

import java.util.Spliterator;

/**
 * 
 * Title:
* Descript:
* Copyright: Copryright(c) Nov 15, 2019
* Encoding: UNIX UTF-8 * * @author Andy.Shao * */ public final class SpliteratorOperation { /** * byte array spliterator * @param bs {@link com.github.andyshao.lang.ArrayType#BYTE_ARRAY} * @param additionalCharacteristics additional characteristics * @return byte {@link Spliterator} */ public static final Spliterator spliterator(byte[] bs, int additionalCharacteristics) { return spliterator(bs, 0, bs.length, additionalCharacteristics); } /** * byte array spliterator * @param bs {@link com.github.andyshao.lang.ArrayType#BYTE_ARRAY} * @param fromIndex start position (inclusive) * @param toIndex end position (exclusive) * @param additionalCharacteristics additional characteristics * @return byte {@link Spliterator} */ public static final Spliterator spliterator(final byte[] bs, final int fromIndex, final int toIndex, final int additionalCharacteristics) { return new ByteArraySpliterator(bs, toIndex, fromIndex, additionalCharacteristics); } /** * spliterator * @param cs {@link com.github.andyshao.lang.ArrayType#CHAR_ARRAY} * @param additionalCharacteristics additional characteristics * @return char {@link Spliterator} */ public static final Spliterator spliterator(char[] cs, int additionalCharacteristics) { return spliterator(cs, 0, cs.length, additionalCharacteristics); } /** * spliterator * @param cs {@link com.github.andyshao.lang.ArrayType#CHAR_ARRAY} * @param fromIndex start point (inclusive) * @param toIndex end point (exclusive) * @param additionalCharacteristics additional characteristics * @return char {@link Spliterator} */ public static final Spliterator spliterator(char[] cs, int fromIndex, int toIndex, int additionalCharacteristics) { return CharArraySpliterator.builder() .array(cs) .index(fromIndex) .fence(toIndex) .characteristics(additionalCharacteristics) .build(); } /** * spliterator * @param array {@link com.github.andyshao.lang.ArrayType#SHORT_ARRAY} * @param additionalCharacteristics additional characteristics * @return short {@link Spliterator} */ public static Spliterator spliterator(short[] array, int additionalCharacteristics) { return spliterator(array, additionalCharacteristics); } /** * spliterator * @param array {@link com.github.andyshao.lang.ArrayType#SHORT_ARRAY} * @param fromIndex start point (inclusive) * @param toIndex end point (exclusive) * @param additionalCharacteristics additional characteristics * @return short {@link Spliterator} */ public static Spliterator spliterator(short[] array, int fromIndex, int toIndex, int additionalCharacteristics) { return ShortArraySpliterator.builder() .array(array) .index(fromIndex) .fence(toIndex) .characteristics(additionalCharacteristics) .build(); } private SpliteratorOperation() { throw new AssertionError("No constructor support"); } /** * spliterator * @param array {@link com.github.andyshao.lang.ArrayType#FLOAT_ARRAY} * @param additionalCharacteristics additional characteristics * @return float {@link Spliterator} */ public static Spliterator spliterator(float[] array, int additionalCharacteristics) { return spliterator(array, additionalCharacteristics); } /** * spliterator * @param array {@link com.github.andyshao.lang.ArrayType#FLOAT_ARRAY} * @param startInclusive start point (inclusive) * @param endExclusive end point (exclusive) * @param additionalCharacteristics additional characteristics * @return float {@link Spliterator} */ public static Spliterator spliterator(float[] array, int startInclusive, int endExclusive, int additionalCharacteristics) { return FloatArraySpliterator.builder() .array(array) .index(startInclusive) .fence(endExclusive) .characteristics(additionalCharacteristics) .build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy