Commit 505ce70d by Bryce McKinlay Committed by Bryce McKinlay

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
parent 78e3e6ac
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> 2001-02-14 Bryce McKinlay <bryce@albatross.co.nz>
* java/util/TreeMap.java: New file. * java/util/TreeMap.java: New file.
......
...@@ -447,7 +447,6 @@ public class Collections ...@@ -447,7 +447,6 @@ public class Collections
// Create a minimal implementation of List // Create a minimal implementation of List
return new AbstractList() return new AbstractList()
{ {
public int size() public int size()
{ {
return n; return n;
...@@ -487,22 +486,25 @@ public class Collections ...@@ -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 * 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 * intended to make it easy to sort into reverse order, by simply passing
* Collections.reverseOrder() to the sort method. The return value of this * Collections.reverseOrder() to the sort method. The return value of this
* method is Serializable. * method is Serializable.
*/ */
// The return value isn't Serializable, because the spec is broken.
public static Comparator reverseOrder() public static Comparator reverseOrder()
{ {
return new Comparator() return rcInstance;
{
public int compare(Object a, Object b)
{
return -((Comparable) a).compareTo(b);
}
};
} }
/** /**
......
...@@ -44,8 +44,8 @@ import java.io.ObjectOutputStream; ...@@ -44,8 +44,8 @@ import java.io.ObjectOutputStream;
* TreeSet is a part of the JDK1.2 Collections API. * TreeSet is a part of the JDK1.2 Collections API.
* *
* @author Jon Zeppieri * @author Jon Zeppieri
* @version $Revision: 1.7 $ * @version $Revision: 1.1 $
* @modified $Id: TreeSet.java,v 1.7 2000/10/26 10:19:01 bryce Exp $ * @modified $Id: TreeSet.java,v 1.1 2001/02/14 04:44:21 bryce Exp $
*/ */
public class TreeSet extends AbstractSet public class TreeSet extends AbstractSet
...@@ -158,14 +158,7 @@ public class TreeSet extends AbstractSet ...@@ -158,14 +158,7 @@ public class TreeSet extends AbstractSet
public Object clone() public Object clone()
{ {
TreeSet copy = new TreeSet(); TreeSet copy = new TreeSet();
try copy.map = (SortedMap) ((TreeMap) map).clone();
{
copy.map = (TreeMap) map.clone();
}
catch (CloneNotSupportedException ex)
{
}
return copy; return copy;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment