I'm checking this in on the generics branch. This adds a couple new 1.5 methods to Collections.
Tom Index: ChangeLog from Tom Tromey <[EMAIL PROTECTED]> * java/util/Collections.java (reverseOrder): New method. (frequency): Likewise. (ReverseComparator): No longer final. Index: java/util/Collections.java =================================================================== RCS file: /cvsroot/classpath/classpath/java/util/Collections.java,v retrieving revision 1.28.2.13 diff -u -r1.28.2.13 Collections.java --- java/util/Collections.java 2 Aug 2005 20:12:29 -0000 1.28.2.13 +++ java/util/Collections.java 14 Aug 2005 00:54:48 -0000 @@ -1151,6 +1151,33 @@ } /** + * Get a comparator that implements the reverse of the ordering + * specified by the given Comparator. If the Comparator is null, + * this is equivalent to [EMAIL PROTECTED] #reverseOrder()}. The return value + * of this method is Serializable, if the specified Comparator is + * either Serializable or null. + * + * @param c the comparator to invert + * @return a comparator that imposes reverse ordering + * @see Comparable + * @see Serializable + * + * @since 1.5 + */ + public static <T> Comparator<T> reverseOrder(final Comparator<T> c) + { + if (c == null) + return (Comparator<T>) rcInstance; + return new ReverseComparator<T> () + { + public int compare(T a, T b) + { + return - c.compare(a, b); + } + }; + } + + /** * Get a comparator that implements the reverse of natural ordering. In * other words, this sorts Comparable objects opposite of how their * compareTo method would sort. This makes it easy to sort into reverse @@ -1177,7 +1204,7 @@ * * @author Eric Blake ([EMAIL PROTECTED]) */ - private static final class ReverseComparator<T> + private static class ReverseComparator<T> implements Comparator<T>, Serializable { /** @@ -1375,6 +1402,17 @@ } } + /** @since 1.5 */ + public static int frequency (Collection<?> c, Object o) + { + int result = 0; + for (Object v : c) + { + if (AbstractCollection.equals(o, v)) + ++result; + } + return result; + } /** * Obtain an immutable Set consisting of a single element. The return value _______________________________________________ Classpath-patches mailing list Classpath-patches@gnu.org http://lists.gnu.org/mailman/listinfo/classpath-patches