/** * Returns an Iterator on a sequence of {@code n} values supplied by a given Supplier {@code s}. * * @param <T> Component type of the Iterator * @param n The number of elements * @param s The Supplier computing element values * @return An iterator on a sequence of {@code n} elements, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ static <T> Iterator<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return io.vavr.collection.Collections.fill(n, s); }
/** * 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); }
/** * Returns a HashSet containing tuples returned by {@code n} calls to a given Supplier {@code s}. * * @param <T> Component type of the HashSet * @param n The number of elements in the HashSet * @param s The Supplier computing element values * @return An HashSet of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ public static <T> HashSet<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return Collections.fill(n, s, HashSet.empty(), HashSet::of); }
/** * Returns a LinkedHashSet containing tuples returned by {@code n} calls to a given Supplier {@code s}. * * @param <T> Component type of the LinkedHashSet * @param n The number of elements in the LinkedHashSet * @param s The Supplier computing element values * @return A LinkedHashSet of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ public static <T> LinkedHashSet<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return Collections.fill(n, s, LinkedHashSet.empty(), LinkedHashSet::of); }
/** * Returns a Stream containing {@code n} values supplied by a given Supplier {@code s}. * * @param <T> Component type of the Stream * @param n The number of elements in the Stream * @param s The Supplier computing element values * @return A Stream of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ static <T> Stream<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return Stream.ofAll(io.vavr.collection.Collections.fill(n, s)); }
/** * Returns a Queue containing {@code n} values supplied by a given Supplier {@code s}. * * @param <T> Component type of the Queue * @param n The number of elements in the Queue * @param s The Supplier computing element values * @return An Queue of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ public static <T> Queue<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return io.vavr.collection.Collections.fill(n, s, empty(), Queue::of); }
/** * Returns a Vector containing {@code n} values supplied by a given Supplier {@code s}. * * @param <T> Component type of the Vector * @param n The number of elements in the Vector * @param s The Supplier computing element values * @return A Vector of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ public static <T> Vector<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return io.vavr.collection.Collections.fill(n, s, empty(), Vector::of); }
/** * Returns a List containing {@code n} values supplied by a given Supplier {@code s}. * * @param <T> Component type of the List * @param n The number of elements in the List * @param s The Supplier computing element values * @return A List of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ static <T> List<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return Collections.fill(n, s, empty(), List::of); }
/** * Returns a Tree containing {@code n} values supplied by a given Supplier {@code s}. * * @param <T> Component type of the Tree * @param n The number of elements in the Tree * @param s The Supplier computing element values * @return A Tree of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ static <T> Tree<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return io.vavr.collection.Collections.fill(n, s, empty(), Tree::of); }
/** * Returns a LinkedHashMap containing tuples returned by {@code n} calls to a given Supplier {@code s}. * * @param <K> The key type * @param <V> The value type * @param n The number of elements in the LinkedHashMap * @param s The Supplier computing element values * @return A LinkedHashMap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ @SuppressWarnings("unchecked") public static <K, V> LinkedHashMap<K, V> fill(int n, Supplier<? extends Tuple2<? extends K, ? extends V>> s) { Objects.requireNonNull(s, "s is null"); return ofEntries(Collections.fill(n, (Supplier<? extends Tuple2<K, V>>) s)); }
/** * Returns a LinkedHashMultimap containing {@code n} values supplied by a given Supplier {@code s}. * * @param <K> The key type * @param <V2> The value type * @param n The number of elements in the LinkedHashMultimap * @param s The Supplier computing element values * @return A LinkedHashMultimap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ @SuppressWarnings("unchecked") public <K, V2 extends V> LinkedHashMultimap<K, V2> fill(int n, Supplier<? extends Tuple2<? extends K, ? extends V2>> s) { Objects.requireNonNull(s, "s is null"); return ofEntries(Collections.fill(n, (Supplier<? extends Tuple2<K, V2>>) s)); }
/** * Returns a HashMap containing tuples returned by {@code n} calls to a given Supplier {@code s}. * * @param <K> The key type * @param <V> The value type * @param n The number of elements in the HashMap * @param s The Supplier computing element values * @return An HashMap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ @SuppressWarnings("unchecked") public static <K, V> HashMap<K, V> fill(int n, Supplier<? extends Tuple2<? extends K, ? extends V>> s) { Objects.requireNonNull(s, "s is null"); return ofEntries(Collections.fill(n, (Supplier<? extends Tuple2<K, V>>) s)); }
/** * Returns a HashMultimap containing {@code n} values supplied by a given Supplier {@code s}. * * @param <K> The key type * @param <V2> The value type * @param n The number of elements in the HashMultimap * @param s The Supplier computing element values * @return A HashMultimap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ @SuppressWarnings("unchecked") public <K, V2 extends V> HashMultimap<K, V2> fill(int n, Supplier<? extends Tuple2<? extends K, ? extends V2>> s) { Objects.requireNonNull(s, "s is null"); return ofEntries(Collections.fill(n, (Supplier<? extends Tuple2<K, V2>>) s)); }
/** * Returns a TreeMultimap containing {@code n} values supplied by a given Supplier {@code s}. * * @param <K> The key type * @param <V2> The value type * @param keyComparator The comparator used to sort the entries by their key * @param n The number of elements in the TreeMultimap * @param s The Supplier computing element values * @return A TreeMultimap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code keyComparator} or {@code s} are null */ @SuppressWarnings("unchecked") public <K, V2 extends V> TreeMultimap<K, V2> fill(Comparator<? super K> keyComparator, int n, Supplier<? extends Tuple2<? extends K, ? extends V2>> s) { Objects.requireNonNull(keyComparator, "keyComparator is null"); Objects.requireNonNull(s, "s is null"); return ofEntries(keyComparator, Collections.fill(n, (Supplier<? extends Tuple2<K, V2>>) s)); }
public BitSet<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return empty().addAll(Collections.fill(n, s)); } }
/** * Returns a TreeSet containing tuples returned by {@code n} calls to a given Supplier {@code s}. * * @param <T> Component type of the TreeSet * @param comparator The comparator used to sort the elements * @param n The number of elements in the TreeSet * @param s The Supplier computing element values * @return A TreeSet of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code comparator} or {@code s} are null */ public static <T> TreeSet<T> fill(Comparator<? super T> comparator, int n, Supplier<? extends T> s) { Objects.requireNonNull(comparator, "comparator is null"); Objects.requireNonNull(s, "s is null"); return Collections.fill(n, s, TreeSet.empty(comparator), values -> of(comparator, values)); }
/** * Returns a TreeMap containing tuples returned by {@code n} calls to a given Supplier {@code s}. * The underlying key comparator is the natural comparator of K. * * @param <K> The key type * @param <V> The value type * @param n The number of elements in the TreeMap * @param s The Supplier computing element values * @return A TreeMap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code s} is null */ public static <K extends Comparable<? super K>, V> TreeMap<K, V> fill(int n, Supplier<? extends Tuple2<? extends K, ? extends V>> s) { Objects.requireNonNull(s, "s is null"); return createTreeMap(EntryComparator.natural(), Collections.fill(n, s)); }
/** * Returns a TreeMap containing tuples returned by {@code n} calls to a given Supplier {@code s}. * * @param <K> The key type * @param <V> The value type * @param keyComparator The comparator used to sort the entries by their key * @param n The number of elements in the TreeMap * @param s The Supplier computing element values * @return A TreeMap of size {@code n}, where each element contains the result supplied by {@code s}. * @throws NullPointerException if {@code keyComparator} or {@code s} are null */ @SuppressWarnings("unchecked") public static <K, V> TreeMap<K, V> fill(Comparator<? super K> keyComparator, int n, Supplier<? extends Tuple2<? extends K, ? extends V>> s) { Objects.requireNonNull(s, "s is null"); return createTreeMap(EntryComparator.of(keyComparator), Collections.fill(n, s)); }
/** * Returns a {@link PriorityQueue} containing {@code size} values supplied by a given Supplier {@code supplier}. * * @param <T> Component type of the {@link PriorityQueue} * @param size The number of elements in the {@link PriorityQueue} * @param supplier The Supplier computing element values * @return A {@link PriorityQueue} of size {@code size}, where each element contains the result supplied by {@code supplier}. * @throws NullPointerException if {@code supplier} is null */ @GwtIncompatible @SuppressWarnings("unchecked") public static <T> PriorityQueue<T> fill(int size, Supplier<? extends T> supplier) { Objects.requireNonNull(supplier, "supplier is null"); final Comparator<? super T> comparator = Comparators.naturalComparator(); return io.vavr.collection.Collections.fill(size, supplier, empty(comparator), values -> ofAll(comparator, io.vavr.collection.List.of(values))); }
public BitSet<T> fill(int n, Supplier<? extends T> s) { Objects.requireNonNull(s, "s is null"); return empty().addAll(Collections.fill(n, s)); } }