Index: /trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java	(revision 6106)
@@ -154,5 +154,5 @@
                 unreversedTagWays.removeAll(reversedWays);
                 ReverseWayTagCorrector reverseWayTagCorrector = new ReverseWayTagCorrector();
-                List<Way> reversedTagWays = new ArrayList<Way>();
+                List<Way> reversedTagWays = new ArrayList<Way>(reversedWays.size());
                 Collection<Command> changePropertyCommands =  null;
                 for (Way w : reversedWays) {
@@ -497,5 +497,5 @@
 
         protected Set<Node> getNodes(Stack<NodePair> pairs) {
-            HashSet<Node> nodes = new LinkedHashSet<Node>();
+            HashSet<Node> nodes = new LinkedHashSet<Node>(2*pairs.size());
             for (NodePair pair: pairs) {
                 nodes.add(pair.getA());
@@ -517,5 +517,5 @@
 
         protected Set<Node> getNodes() {
-            Set<Node> nodes = new LinkedHashSet<Node>();
+            Set<Node> nodes = new LinkedHashSet<Node>(2 * edges.size());
             for (NodePair pair: edges) {
                 nodes.add(pair.getA());
Index: /trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/actions/CreateCircleAction.java	(revision 6106)
@@ -137,5 +137,5 @@
 
             // build a way for the circle
-            List<Node> wayToAdd = new ArrayList<Node>();
+            List<Node> wayToAdd = new ArrayList<Node>(numberOfNodesInCircle + 1);
 
             for (int i = 1; i <= numberOfNodesInCircle; i++) {
Index: /trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/actions/PasteTagsAction.java	(revision 6106)
@@ -263,5 +263,4 @@
     public static boolean pasteTagsFromText(Collection<OsmPrimitive> selection, String text) {
         Map<String, String> tags = TextTagParser.readTagsFromText(text);
-        List<Command> commands = new ArrayList<Command>();
         if (tags==null || tags.isEmpty()) {
             TextTagParser.showBadBufferMessage(help);
@@ -269,4 +268,6 @@
         }
         if (!TextTagParser.validateTags(tags)) return false;
+
+        List<Command> commands = new ArrayList<Command>(tags.size());
         String v;
         for (String key: tags.keySet()) {
Index: /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/actions/search/SearchAction.java	(revision 6106)
@@ -103,5 +103,5 @@
             searchHistory.removeLast();
         }
-        List<String> savedHistory = new ArrayList<String>();
+        List<String> savedHistory = new ArrayList<String>(searchHistory.size());
         for (SearchSetting item: searchHistory) {
             savedHistory.add(item.writeToString());
Index: /trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/command/DeleteCommand.java	(revision 6106)
@@ -202,5 +202,5 @@
             return null;
         else {
-            List<PseudoCommand> children = new ArrayList<PseudoCommand>();
+            List<PseudoCommand> children = new ArrayList<PseudoCommand>(toDelete.size());
             for (final OsmPrimitive osm : toDelete) {
                 children.add(new PseudoCommand() {
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/SimilarNamedWays.java	(revision 6106)
@@ -80,5 +80,5 @@
                 int levenshteinDistance = getLevenshteinDistance(name, name2);
                 if (0 < levenshteinDistance && levenshteinDistance <= 2) {
-                    List<OsmPrimitive> primitives = new ArrayList<OsmPrimitive>();
+                    List<OsmPrimitive> primitives = new ArrayList<OsmPrimitive>(2);
                     primitives.add(w);
                     primitives.add(w2);
Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(revision 6106)
@@ -245,5 +245,5 @@
             LatLon topLeft  = new LatLon(y2+fudge, x1-fudge);
             LatLon botRight = new LatLon(y1-fudge, x2+fudge);
-            List<LatLon> ret = new ArrayList<LatLon>();
+            List<LatLon> ret = new ArrayList<LatLon>(2);
             ret.add(topLeft);
             ret.add(botRight);
Index: /trunk/src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 6106)
@@ -313,5 +313,5 @@
                                         // These labels may need to be updated from the outside
                                         // so collect them
-                                        List<JLabel> lbls = new ArrayList<JLabel>();
+                                        List<JLabel> lbls = new ArrayList<JLabel>(osms.size());
                                         for (final OsmPrimitive osm : osms) {
                                             JLabel l = popupBuildPrimitiveLabels(osm);
Index: /trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/gui/io/CloseChangesetDialog.java	(revision 6106)
@@ -214,5 +214,5 @@
     public Collection<Changeset> getSelectedChangesets() {
         Object [] sel = lstOpenChangesets.getSelectedValues();
-        ArrayList<Changeset> ret = new ArrayList<Changeset>();
+        ArrayList<Changeset> ret = new ArrayList<Changeset>(sel.length);
         for (Object o: sel) {
             ret.add((Changeset)o);
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java	(revision 6106)
@@ -290,6 +290,6 @@
             panelTf.add(new JLabel(tr("I am in the timezone of: ")), gc);
 
-            Vector<String> vtTimezones = new Vector<String>();
             String[] tmp = TimeZone.getAvailableIDs();
+            Vector<String> vtTimezones = new Vector<String>(tmp.length);
 
             for (String tzStr : tmp) {
Index: /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 6106)
@@ -837,5 +837,5 @@
 
     public List<ImageEntry> getImages() {
-        List<ImageEntry> copy = new ArrayList<ImageEntry>();
+        List<ImageEntry> copy = new ArrayList<ImageEntry>(data.size());
         for (ImageEntry ie : data) {
             copy.add(ie.clone());
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/SourceEditor.java	(revision 6106)
@@ -1531,5 +1531,5 @@
 
         public boolean put(Collection<? extends SourceEntry> entries) {
-            Collection<Map<String, String>> setting = new ArrayList<Map<String, String>>();
+            Collection<Map<String, String>> setting = new ArrayList<Map<String, String>>(entries.size());
             for (SourceEntry e : entries) {
                 setting.add(serialize(e));
Index: /trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java	(revision 6105)
+++ /trunk/src/org/openstreetmap/josm/io/imagery/WMSImagery.java	(revision 6106)
@@ -202,5 +202,5 @@
 
     private List<LayerDetails> parseLayers(List<Element> children, Set<String> parentCrs) {
-        List<LayerDetails> details = new ArrayList<LayerDetails>();
+        List<LayerDetails> details = new ArrayList<LayerDetails>(children.size());
         for (Element element : children) {
             details.add(parseLayer(element, parentCrs));
