aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/TreeMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/util/TreeMap.java')
-rw-r--r--libjava/java/util/TreeMap.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/libjava/java/util/TreeMap.java b/libjava/java/util/TreeMap.java
index 5057d16..67ecebd 100644
--- a/libjava/java/util/TreeMap.java
+++ b/libjava/java/util/TreeMap.java
@@ -56,7 +56,7 @@ import java.io.IOException;
*
* @author Jon Zeppieri
* @author Bryce McKinlay
- * @modified $Id: TreeMap.java,v 1.1 2001/02/14 04:44:21 bryce Exp $
+ * @modified $Id: TreeMap.java,v 1.2 2001/02/14 05:32:31 bryce Exp $
*/
public class TreeMap extends AbstractMap
implements SortedMap, Cloneable, Serializable
@@ -178,8 +178,14 @@ public class TreeMap extends AbstractMap
public Object clone()
{
- TreeMap copy = new TreeMap();
- copy.comparator = comparator;
+ TreeMap copy = null;
+ try
+ {
+ copy = (TreeMap) super.clone();
+ }
+ catch (CloneNotSupportedException x)
+ {
+ }
copy.fabricateTree(size);
Node node = firstNode();
@@ -991,6 +997,9 @@ public class TreeMap extends AbstractMap
parent.right = node;
parent = nextparent;
}
+
+ // We use the "right" link to maintain a chain of nodes in
+ // each row until the parent->child links are established.
if (last != null)
last.right = node;
last = node;