本文整理了Java中io.vavr.collection.Array.empty()
方法的一些代码示例,展示了Array.empty()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Array.empty()
方法的具体详情如下:
包路径:io.vavr.collection.Array
类名称:Array
方法名:empty
暂无
代码示例来源:origin: vavr-io/vavr
/**
* Alias for {@link Array#empty()}
*
* @param <T> Component type of element.
* @return A singleton instance of empty {@link Array}
*/
public static <T> Array<T> Array() {
return Array.empty();
}
代码示例来源:origin: vavr-io/vavr
/**
* Returns an Array containing {@code n} times the given {@code element}
*
* @param <T> Component type of the Array
* @param n The number of elements in the Array
* @param element The element
* @return An Array of size {@code n}, where each element is the given {@code element}.
*/
public static <T> Array<T> fill(int n, T element) {
return io.vavr.collection.Collections.fillObject(n, element, empty(), Array::of);
}
代码示例来源:origin: vavr-io/vavr
/**
* Converts this to a {@link Array}.
*
* @return A new {@link Array}.
*/
default Array<T> toArray() {
return ValueModule.toTraversable(this, Array.empty(), Array::of, Array::ofAll);
}
代码示例来源:origin: vavr-io/vavr
/**
* Returns an Array containing {@code n} values supplied by a given Supplier {@code s}.
*
* @param <T> Component type of the Array
* @param n The number of elements in the Array
* @param s The Supplier computing element values
* @return An Array of size {@code n}, where each element contains the result supplied by {@code s}.
* @throws NullPointerException if {@code s} is null
*/
public static <T> Array<T> fill(int n, Supplier<? extends T> s) {
Objects.requireNonNull(s, "s is null");
return io.vavr.collection.Collections.fill(n, s, empty(), Array::of);
}
代码示例来源:origin: vavr-io/vavr
@Override
public Iterator<Array<T>> crossProduct(int power) {
return io.vavr.collection.Collections.crossProduct(empty(), this, power);
}
代码示例来源:origin: vavr-io/vavr
static <T> Array<T> wrap(Object[] array) {
return (array.length == 0) ? empty() : new Array<>(array);
}
代码示例来源:origin: vavr-io/vavr
/**
* Returns an Array containing {@code n} values of a given Function {@code f}
* over a range of integer values from 0 to {@code n - 1}.
*
* @param <T> Component type of the Array
* @param n The number of elements in the Array
* @param f The Function computing element values
* @return An Array consisting of elements {@code f(0),f(1), ..., f(n - 1)}
* @throws NullPointerException if {@code f} is null
*/
public static <T> Array<T> tabulate(int n, Function<? super Integer, ? extends T> f) {
Objects.requireNonNull(f, "f is null");
return io.vavr.collection.Collections.tabulate(n, f, empty(), Array::of);
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> drop(int n) {
if (n <= 0) {
return this;
} else if (n >= length()) {
return empty();
} else {
final Object[] arr = new Object[delegate.length - n];
System.arraycopy(delegate, n, arr, 0, arr.length);
return wrap(arr);
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> dropRight(int n) {
if (n <= 0) {
return this;
} else if (n >= length()) {
return empty();
} else {
return wrap(copyOf(delegate, delegate.length - n));
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public <U> Array<U> flatMap(Function<? super T, ? extends Iterable<? extends U>> mapper) {
Objects.requireNonNull(mapper, "mapper is null");
if (isEmpty()) {
return empty();
} else {
final java.util.List<U> list = new ArrayList<>();
for (T t : this) {
for (U u : mapper.apply(t)) {
list.add(u);
}
}
return wrap(list.toArray());
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> filter(Predicate<? super T> predicate) {
Objects.requireNonNull(predicate, "predicate is null");
final java.util.List<T> list = new ArrayList<>();
for (T t : this) {
if (predicate.test(t)) {
list.add(t);
}
}
if (list.isEmpty()) {
return empty();
} else if (list.size() == size()) {
return this;
} else {
return wrap(list.toArray());
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> take(int n) {
if (n >= length()) {
return this;
} else if (n <= 0) {
return empty();
} else {
return wrap(copyOf(delegate, n));
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> takeRight(int n) {
if (n >= length()) {
return this;
} else if (n <= 0) {
return empty();
} else {
final Object[] arr = new Object[n];
System.arraycopy(delegate, delegate.length - n, arr, 0, n);
return wrap(arr);
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public <T1, T2, T3> Tuple3<Array<T1>, Array<T2>, Array<T3>> unzip3(Function<? super T, Tuple3<? extends T1, ? extends T2, ? extends T3>> unzipper) {
Objects.requireNonNull(unzipper, "unzipper is null");
if (isEmpty()) {
return Tuple.of(empty(), empty(), empty());
} else {
final Object[] xs = new Object[delegate.length];
final Object[] ys = new Object[delegate.length];
final Object[] zs = new Object[delegate.length];
for (int i = 0; i < delegate.length; i++) {
final Tuple3<? extends T1, ? extends T2, ? extends T3> t = unzipper.apply(get(i));
xs[i] = t._1;
ys[i] = t._2;
zs[i] = t._3;
}
return Tuple.of(wrap(xs), wrap(ys), wrap(zs));
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Tuple2<Array<T>, Array<T>> splitAtInclusive(Predicate<? super T> predicate) {
Objects.requireNonNull(predicate, "predicate is null");
for (int i = 0; i < delegate.length; i++) {
final T value = get(i);
if (predicate.test(value)) {
if (i == delegate.length - 1) {
return Tuple.of(this, empty());
} else {
return Tuple.of(take(i + 1), drop(i + 1));
}
}
}
return Tuple.of(this, empty());
}
代码示例来源:origin: vavr-io/vavr
@Override
public <T1, T2> Tuple2<Array<T1>, Array<T2>> unzip(
Function<? super T, Tuple2<? extends T1, ? extends T2>> unzipper) {
Objects.requireNonNull(unzipper, "unzipper is null");
if (isEmpty()) {
return Tuple.of(empty(), empty());
} else {
final Object[] xs = new Object[delegate.length];
final Object[] ys = new Object[delegate.length];
for (int i = 0; i < delegate.length; i++) {
final Tuple2<? extends T1, ? extends T2> t = unzipper.apply(get(i));
xs[i] = t._1;
ys[i] = t._2;
}
return Tuple.of(wrap(xs), wrap(ys));
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> slice(int beginIndex, int endIndex) {
if (beginIndex >= endIndex || beginIndex >= length() || isEmpty()) {
return empty();
}
if (beginIndex <= 0 && endIndex >= length()) {
return this;
}
final int index = Math.max(beginIndex, 0);
final int length = Math.min(endIndex, length()) - index;
final Object[] arr = new Object[length];
System.arraycopy(delegate, index, arr, 0, length);
return wrap(arr);
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<T> subSequence(int beginIndex, int endIndex) {
Collections.subSequenceRangeCheck(beginIndex, endIndex, length());
if (beginIndex == endIndex) {
return empty();
} else if (beginIndex == 0 && endIndex == length()) {
return this;
} else {
final Object[] arr = new Object[endIndex - beginIndex];
System.arraycopy(delegate, beginIndex, arr, 0, arr.length);
return wrap(arr);
}
}
代码示例来源:origin: vavr-io/vavr
@Override
public Array<Array<T>> permutations() {
if (isEmpty()) {
return empty();
} else if (delegate.length == 1) {
return of(this);
} else {
final Array<Array<T>> zero = empty();
return distinct().foldLeft(zero, (xs, x) -> {
final Function<Array<T>, Array<T>> prepend = l -> l.prepend(x);
return xs.appendAll(remove(x).permutations().map(prepend));
});
}
}
代码示例来源:origin: vavr-io/vavr
static <T> Array<Array<T>> apply(Array<T> elements, int k) {
if (k == 0) {
return Array.of(Array.empty());
} else {
return elements.zipWithIndex().flatMap(
t -> apply(elements.drop(t._2 + 1), (k - 1)).map(c -> c.prepend(t._1))
);
}
}
}
内容来源于网络,如有侵权,请联系作者删除!