/** * Partition a list after some predicate <code>keyGen</code>. The partition function has to make sure that keys are * unique per list element because each key holds only one value. Later values overwrite newer ones. * * The resulting map is an immutable {@link java.util.HashMap}. * * @see #asMap(java.util.Map, java.util.List, Function) */ public static <K, V> Map<K, V> asMap(List<V> values, Function<V, K> keyGen) { return java.util.Collections.unmodifiableMap(asMap(new HashMap<K, V>(), values, keyGen)); }