TreeSet.java (clone): Call TreeMap.clone(), not Object.clone().
authorBryce McKinlay <bryce@albatross.co.nz>
Thu, 15 Feb 2001 03:59:57 +0000 (03:59 +0000)
committerBryce McKinlay <bryce@gcc.gnu.org>
Thu, 15 Feb 2001 03:59:57 +0000 (03:59 +0000)
* java/util/TreeSet.java (clone): Call TreeMap.clone(), not
Object.clone().
* java/util/Collections.java (ReverseComparator): New static class.
(reverseOrder): Return static instance of ReverseComparator.

From-SVN: r39705

libjava/ChangeLog
libjava/java/util/Collections.java
libjava/java/util/TreeSet.java

index 35ac4789ea930f8ab81c64efca2be2cc2d08f7d9..0f289343440b32b6882fd13856e5d326c8180194 100644 (file)
@@ -1,3 +1,10 @@
+2001-02-15  Bryce McKinlay  <bryce@albatross.co.nz>
+
+       * java/util/TreeSet.java (clone): Call TreeMap.clone(), not 
+       Object.clone().
+       * java/util/Collections.java (ReverseComparator): New static class.
+       (reverseOrder): Return static instance of ReverseComparator.
+
 2001-02-14  Bryce McKinlay  <bryce@albatross.co.nz>
 
        * java/util/TreeMap.java: New file.
index 9035e670a86ab990bbfd910817c070a708b24145..74efdec65bf474745e4522cf4ff5c28c030dda44 100644 (file)
@@ -447,7 +447,6 @@ public class Collections
     // Create a minimal implementation of List
     return new AbstractList()
     {
-
       public int size()
       {
        return n;
@@ -487,22 +486,25 @@ public class Collections
       }
   }
 
+  static class ReverseComparator implements Comparator, Serializable
+  {
+    public int compare(Object a, Object b)
+    {
+      return -((Comparable) a).compareTo(b);
+    }
+  }
+  
+  static ReverseComparator rcInstance = new ReverseComparator();
+  
   /**
    * Get a comparator that implements the reverse of natural ordering. This is
    * intended to make it easy to sort into reverse order, by simply passing
    * Collections.reverseOrder() to the sort method. The return value of this
    * method is Serializable.
    */
-  // The return value isn't Serializable, because the spec is broken.
   public static Comparator reverseOrder()
   {
-    return new Comparator()
-    {
-      public int compare(Object a, Object b)
-      {
-       return -((Comparable) a).compareTo(b);
-      }
-    };
+    return rcInstance;
   }
 
   /**
index 36224aab8522018af53fb361a7d123fb78a59999..070ca260de4b6338512cc32b75e8878376dd1c80 100644 (file)
@@ -44,8 +44,8 @@ import java.io.ObjectOutputStream;
  * TreeSet is a part of the JDK1.2 Collections API.
  *
  * @author      Jon Zeppieri
- * @version     $Revision: 1.7 $
- * @modified    $Id: TreeSet.java,v 1.7 2000/10/26 10:19:01 bryce Exp $
+ * @version     $Revision: 1.1 $
+ * @modified    $Id: TreeSet.java,v 1.1 2001/02/14 04:44:21 bryce Exp $
  */
 
 public class TreeSet extends AbstractSet
@@ -158,14 +158,7 @@ public class TreeSet extends AbstractSet
   public Object clone()
   {
     TreeSet copy = new TreeSet();
-    try
-      {
-       copy.map = (TreeMap) map.clone();
-      }
-    catch (CloneNotSupportedException ex)
-      {
-      }
-
+    copy.map = (SortedMap) ((TreeMap) map).clone();
     return copy;
   }