net.cscott.jutil

Class Default

public abstract class Default extends Object

Default contains one-off or 'standard, no-frills' implementations of simple Iterators, Collections, and Comparators.

Version: $Id: Default.java,v 1.3 2004/01/13 20:47:05 cananian Exp $

Author: C. Scott Ananian

Nested Class Summary
static classDefault.PairList<A,B>
Field Summary
static Comparator<Comparable>comparator
A Comparator for objects that implement Comparable.
static SortedMapEMPTY_MAP
An empty map.
static MultiMapEMPTY_MULTIMAP
An empty multi-map.
static IteratornullIterator
An Iterator over the empty set.
Method Summary
static <E> List<E>EMPTY_LIST()
An empty list.
static <E> SortedSet<E>EMPTY_SET()
An empty set; the parameterized version.
static <K,V> Entry<K,V>entry(K key, V value)
A pair constructor method more appropriate for Set views of Maps and MultiMaps.
static <E> Iterator<E>nullIterator()
static <A,B> PairList<A,B>pair(A left, B right)
A pair constructor method.
static <E> Iterator<E>singletonIterator(E o)
An Iterator over a singleton set.
static <A> Collection<A>unmodifiableCollection(Collection<? extends A> cc)
Improved unmodifiableCollection() class that helps w/ covariant subtyping.
static <E> Iterator<E>unmodifiableIterator(Iterator<E> i)
An unmodifiable version of the given iterator.

Field Detail

comparator

public static final Comparator<Comparable> comparator
A Comparator for objects that implement Comparable.

EMPTY_MAP

public static final SortedMap EMPTY_MAP
An empty map. Missing from java.util.Collections.

EMPTY_MULTIMAP

public static final MultiMap EMPTY_MULTIMAP
An empty multi-map.

nullIterator

public static final Iterator nullIterator
An Iterator over the empty set.

Method Detail

EMPTY_LIST

public static final <E> List<E> EMPTY_LIST()
An empty list. The parameterized version. Made necessary by limitations in GJ's type system.

EMPTY_SET

public static final <E> SortedSet<E> EMPTY_SET()
An empty set; the parameterized version. Made necessary by limitations in GJ's type system.

entry

public static <K,V> Entry<K,V> entry(K key, V value)
A pair constructor method more appropriate for Set views of Maps and MultiMaps. The returned object is an instance of Map.Entry; the only (real) difference from the pairs returned by Default.pair() is the definition of hashCode(), which corresponds to Map.Entry (being key.hashCode() ^ value.hashCode() ) rather than List (which would be 31*(31+key.hashCode())+value.hashCode() ). This is an annoying distinction; I wish the JDK API authors had made these consistent. The Map.Entry returned is immutable.

nullIterator

public static final <E> Iterator<E> nullIterator()

pair

public static <A,B> PairList<A,B> pair(A left, B right)
A pair constructor method. Pairs implement hashCode() and equals() "properly" so they can be used as keys in hashtables and etc. They are implemented as mutable lists of fixed size 2.

singletonIterator

public static final <E> Iterator<E> singletonIterator(E o)
An Iterator over a singleton set.

unmodifiableCollection

public static <A> Collection<A> unmodifiableCollection(Collection<? extends A> cc)
Improved unmodifiableCollection() class that helps w/ covariant subtyping.

unmodifiableIterator

public static final <E> Iterator<E> unmodifiableIterator(Iterator<E> i)
An unmodifiable version of the given iterator.
Copyright © 2003 C. Scott Ananian