JEP 269: Convenience Factory Methods for Collections
Remi Forax
forax at univ-mlv.fr
Fri Sep 25 07:32:39 UTC 2015
Hi Mark, hi Stuart, hi all,
for Map, i think a version with a builder will be cool too,
something like:
public interface EntryBuilder<K, V> {
public EntryBuilder<K,V> entry(K key, V value);
}
and by example for HashMap:
public static <K, V> HashMap<K, V> fromBuilder(Consumer<? super EntryBuilder<K,V>> consumer) {
HashMap<K,V> map = new HashMap<>();
consumer.accept(new EntryBuilder<>() {
public EntryBuilder<K,V> entry(K key, V value) {
map.put(key, value);
return this;
}
});
return map;
}
...
HashMap<String, Integer> map = HashMap.fromBuilder(b -> b
.entry("foo", 1)
.entry("bar", 2));
The builder pattern let us to avoid to create intermediary entry objects.
regards,
Rémi
----- Mail original -----
> De: "mark reinhold" <mark.reinhold at oracle.com>
> À: "stuart marks" <stuart.marks at oracle.com>
> Cc: core-libs-dev at openjdk.java.net
> Envoyé: Jeudi 24 Septembre 2015 02:02:17
> Objet: JEP 269: Convenience Factory Methods for Collections
>
> New JEP Candidate: http://openjdk.java.net/jeps/269
>
> - Mark
>
More information about the core-libs-dev
mailing list