Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWays.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWays.java	(revision 15905)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWays.java	(revision 15906)
@@ -22,4 +22,5 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.tools.Geometry;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -48,5 +49,5 @@
         // Make a deep copy of the ways, keeping the copied ways connected
         // TODO: This assumes the first/last nodes of the ways are the only possible shared nodes.
-        Map<Node, Node> splitNodeMap = new HashMap<>(sourceWays.size());
+        Map<Node, Node> splitNodeMap = new HashMap<>(Utils.hashMapInitialCapacity(sourceWays.size()));
         for (Way w : sourceWays) {
             copyNodeInMap(splitNodeMap, w.firstNode(), copyTags);
Index: /trunk/src/org/openstreetmap/josm/data/StructUtils.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/StructUtils.java	(revision 15905)
+++ /trunk/src/org/openstreetmap/josm/data/StructUtils.java	(revision 15906)
@@ -34,4 +34,5 @@
 import org.openstreetmap.josm.tools.MultiMap;
 import org.openstreetmap.josm.tools.ReflectionUtils;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -270,5 +271,5 @@
         try (JsonReader reader = Json.createReader(new StringReader(s))) {
             JsonObject object = reader.readObject();
-            ret = new HashMap(object.size());
+            ret = new HashMap(Utils.hashMapInitialCapacity(object.size()));
             for (Map.Entry<String, JsonValue> e: object.entrySet()) {
                 JsonValue value = e.getValue();
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 15905)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 15906)
@@ -1085,5 +1085,5 @@
         protected void deleteTags(int... rows) {
             // convert list of rows to HashMap (and find gap for nextKey)
-            Map<String, String> tags = new HashMap<>(rows.length);
+            Map<String, String> tags = new HashMap<>(Utils.hashMapInitialCapacity(rows.length));
             int nextKeyIndex = rows[0];
             for (int row : rows) {
Index: /trunk/src/org/openstreetmap/josm/tools/ImageResource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/ImageResource.java	(revision 15905)
+++ /trunk/src/org/openstreetmap/josm/tools/ImageResource.java	(revision 15906)
@@ -31,5 +31,5 @@
      * Caches the image data for resized versions of the same image.
      */
-    private final Map<Dimension, BufferedImage> imgCache = new HashMap<>();
+    private final Map<Dimension, BufferedImage> imgCache = new HashMap<>(4);
     /**
      * SVG diagram information in case of SVG vector image.
