From 505ce70d3ff1a66b476ec41109deb68ac0d44fde Mon Sep 17 00:00:00 2001 From: Bryce McKinlay Date: Thu, 15 Feb 2001 03:59:57 +0000 Subject: [PATCH] TreeSet.java (clone): Call TreeMap.clone(), not Object.clone(). * 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 | 7 +++++++ libjava/java/util/Collections.java | 20 +++++++++++--------- libjava/java/util/TreeSet.java | 13 +++---------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 35ac4789ea9..0f289343440 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2001-02-15 Bryce McKinlay + + * 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 * java/util/TreeMap.java: New file. diff --git a/libjava/java/util/Collections.java b/libjava/java/util/Collections.java index 9035e670a86..74efdec65bf 100644 --- a/libjava/java/util/Collections.java +++ b/libjava/java/util/Collections.java @@ -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; } /** diff --git a/libjava/java/util/TreeSet.java b/libjava/java/util/TreeSet.java index 36224aab852..070ca260de4 100644 --- a/libjava/java/util/TreeSet.java +++ b/libjava/java/util/TreeSet.java @@ -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; } -- 2.30.2