Guava provides us with great factory methods for Java types, such as Maps.newHashMap().
But are there also builders for java Maps?
HashM
A simple map builder is trivial to write:
public class Maps {
public static MapWrapper map(Q q, W w) {
return new MapWrapper(q, w);
}
public static final class MapWrapper {
private final HashMap map;
public MapWrapper(Q q, W w) {
map = new HashMap();
map.put(q, w);
}
public MapWrapper map(Q q, W w) {
map.put(q, w);
return this;
}
public Map getMap() {
return map;
}
}
public static void main(String[] args) {
Map map = Maps.map("one", 1).map("two", 2).map("three", 3).getMap();
for (Map.Entry entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
}
}