/* __ __ __ __ __ ___
* \ \ / / \ \ / / __/
* \ \/ / /\ \ \/ / /
* \____/__/ \__\____/__/.ɪᴏ
* ᶜᵒᵖʸʳᶦᵍʰᵗ ᵇʸ ᵛᵃᵛʳ ⁻ ˡᶦᶜᵉⁿˢᵉᵈ ᵘⁿᵈᵉʳ ᵗʰᵉ ᵃᵖᵃᶜʰᵉ ˡᶦᶜᵉⁿˢᵉ ᵛᵉʳˢᶦᵒⁿ ᵗʷᵒ ᵈᵒᵗ ᶻᵉʳᵒ
*/
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;
}
}