Java Reference
In-Depth Information
/** See below for specs of the two methods */
public interface Comparator {
boolean equals(Object obj);
int compare(Object o1, Object o2);
}
Function equals should yield true if (and only if)
1. obj is also a Comparator , and it imposes the same total ordering as this
Comparator (see below).
2. equals is an equivalence relation, i.e. it is reflexive ( x.equals(x) ) ,
symmetric ( x.equals(y) == y.equals(x) ), and transitive: (if
x.equals(y) and y.equals(z) , then x.equals(z) ).
3. It is total : any two objects in the domain can be tested for equality.
Function compare returns -1 , 0 , or 1 depending on whether o1 is less than,
equal to, or greater than o2 . Thus, this function imposes a total ordering on ele-
ments. Function compare should also satisfy the following:
sgn(compare(x, y)) == -sgn(compare(y, x))
In particular, if compare (x, y) throws an exception, so does compare(y, x) .
Usually, compare(x,y) == 0) == x.equals(y) , but it is not necessary.
12.3
Enumeration and Iterator
An enumeration of a set of values is simply a listing of the values. For example,
here is an enumeration of the first four natural numbers: 0 , 1 , 2 , 3 . To enumerate
a set of values means to provide an enumeration of it. An enumeration of a
String would be a list of its characters. One could also provide an enumeration
of the links on an html page.
Package java.util contains interface Enumeration , which can be used to
facilitate enumerating the objects of a collection of elements. In this section, we
explore the use of this interface, as well as a newer one, interface Iterator .
Lesson page
12-4
Interface Enumeration
Here is interface Enumeration :
Activity
12-4.1
public interface Enumeration {
/** = "there are more objects to enumerate" */
boolean hasMoreElements();
/** = the next object to enumerate. If there are
no more, throw a NoSuchElementException */
Object nextElement();
Get interface
Enumeration
from lesson
page 12.4.
}
Search WWH ::




Custom Search