diff --git a/lib/java/src/org/apache/thrift/TUnion.java b/lib/java/src/org/apache/thrift/TUnion.java
index 13f9c67..1ef11df 100644
--- a/lib/java/src/org/apache/thrift/TUnion.java
+++ b/lib/java/src/org/apache/thrift/TUnion.java
@@ -79,7 +79,7 @@
   }
 
   private static Map deepCopyMap(Map<Object, Object> map) {
-    Map copy = new HashMap();
+    Map copy = new HashMap(map.size());
     for (Map.Entry<Object, Object> entry : map.entrySet()) {
       copy.put(deepCopyObject(entry.getKey()), deepCopyObject(entry.getValue()));
     }
@@ -87,7 +87,7 @@
   }
 
   private static Set deepCopySet(Set set) {
-    Set copy = new HashSet();
+    Set copy = new HashSet(set.size());
     for (Object o : set) {
       copy.add(deepCopyObject(o));
     }
