<< Chapter < Page | Chapter >> Page > |
The ArrayList class is one of the concrete class implementations of the Collections Framework. This class implements both the Collection interface and the List interface. Therefore, it is both a collection and a list, and adheres to the contracts and stipulations of both interfaces.
Here is part of what Oracle has to say about the ArrayList class:
"Resizable-array implementation of the List interface. Implements all optional list operations, and permits all elements, including null. ...(This class is roughly equivalent to Vector, except that it is unsynchronized.)"
The call to the reverse method shown in Listing 4 is new to this module.
Listing 4 . The reverse method of the Collections class. |
---|
Collections.reverse((List)ref);
iter = ref.iterator();while(iter.hasNext()){
System.out.print(iter.next() + " ");}//end while loop |
A previous module discussed the Collections class, indicating that the class provides a number of static methods that can be used to manipulatecollections. As a refresher, here is part of what Oracle has to say about the Collections class:
"This class consists exclusively of static methods that operate on or return collections. It contains polymorphic algorithms that operate oncollections, "wrappers", which return a new collection backed by a specified collection, and a few other odds and ends."
You should recall that the Collections class is not the same as the Collection interface. Don't confuse the two.
One of the static methods in the Collections class is the method named reverse . Here is part of what Oracle has to say about the reverse method:
"Reverses the order of the elements in the specified list."
Pretty simple, huh? But also very useful in some cases.
After calling the reverse method on the list, the code in Listing 4 above used an iterator to get and display the contents of the list. The contentsof the list at that point in the program were as shown below:
TOM BILL JOE Tom Bill Joe
If you compare this with the previous output, you will see that the locations of the elements in the list are reversed. The element at index 0 was movedto index 5, the element at index 5 was moved to index 0, and the elements in between were moved accordingly.
The code in Listing 5 is also new to this module. This code calls the static reverseOrder method of the Collections class and stores the returned value in a reference variable of type Comparator .
Listing 5 . The reverseOrder method. |
---|
Comparator aComparator= Collections.reverseOrder(); |
Here is part of what Oracle has to say about the reverseOrder method:
"Returns a comparator that imposes the reverse of the natural ordering on a collection of objects that implement the Comparable interface. (Thenatural ordering is the ordering imposed by the objects' own compareTo method.) This enables a simple idiom for sorting (or maintaining)collections (or arrays) of objects that implement the Comparable interface in reverse-natural-order."
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?