/* __ __ __ __ __ ___ * \ \ / / \ \ / / __/ * \ \/ / /\ \ \/ / / * \____/__/ \__\____/__/.ɪᴏ * ᶜᵒᵖʸʳᶦᵍʰᵗ ᵇʸ ᵛᵃᵛʳ ⁻ ˡᶦᶜᵉⁿˢᵉᵈ ᵘⁿᵈᵉʳ ᵗʰᵉ ᵃᵖᵃᶜʰᵉ ˡᶦᶜᵉⁿˢᵉ ᵛᵉʳˢᶦᵒⁿ ᵗʷᵒ ᵈᵒᵗ ᶻᵉʳᵒ */ package io.vavr; import java.util.*; final class JavaCollections { private JavaCollections() { } @SuppressWarnings("unchecked") static <K, V> Map<K, V> javaMap(Object... pairs) { Objects.requireNonNull(pairs, "pairs is null"); if ((pairs.length & 1) != 0) { throw new IllegalArgumentException("Odd length of key-value pairs list"); } final Map<K, V> map = new HashMap<>(); for (int i = 0; i < pairs.length; i += 2) { map.put((K) pairs[i], (V) pairs[i + 1]); } return map; } @SuppressWarnings("unchecked") static <T> Set<T> javaSet(T... elements) { Objects.requireNonNull(elements, "elements is null"); final Set<T> set = new HashSet<>(); Collections.addAll(set, elements); return set; } }