@Override public <K2, V2> HashMap<K2, V2> bimap(Function<? super K, ? extends K2> keyMapper, Function<? super V, ? extends V2> valueMapper) { Objects.requireNonNull(keyMapper, "keyMapper is null"); Objects.requireNonNull(valueMapper, "valueMapper is null"); final Iterator<Tuple2<K2, V2>> entries = iterator().map(entry -> Tuple.of(keyMapper.apply(entry._1), valueMapper.apply(entry._2))); return HashMap.ofEntries(entries); }
@Override public Tuple2<K, V> head() { if (isEmpty()) { throw new NoSuchElementException("head of empty HashMap"); } else { return iterator().next(); } }
@Override public Set<K> keySet() { return HashSet.ofAll(iterator().map(Tuple2::_1)); }
@Override public <K2, V2> HashMap<K2, V2> bimap(Function<? super K, ? extends K2> keyMapper, Function<? super V, ? extends V2> valueMapper) { Objects.requireNonNull(keyMapper, "keyMapper is null"); Objects.requireNonNull(valueMapper, "valueMapper is null"); final Iterator<Tuple2<K2, V2>> entries = iterator().map(entry -> Tuple.of(keyMapper.apply(entry._1), valueMapper.apply(entry._2))); return HashMap.ofEntries(entries); }
@Override public Tuple2<K, V> head() { if (isEmpty()) { throw new NoSuchElementException("head of empty HashMap"); } else { return iterator().next(); } }
@Override public Set<K> keySet() { return HashSet.ofAll(iterator().map(Tuple2::_1)); }