O'Reilly logo

Java Generics and Collections by Philip Wadler, Maurice Naftalin

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 15. Lists

Lists are probably the most widely used Java collections in practice. A list is a collection which—unlike a set—can contain duplicates, and which—unlike a queue—gives the user full visibility and control over the ordering of its elements. The corresponding Collections Framework interface is List (see Figure 15-1).

In addition to the operations inherited from Collection, the List interface includes operations for the following:

Positional Access Methods that access elements based on their numerical position in the list:

void add(int index, E e)           // add element e at given index
boolean addAll(int index, Collection<? extends E> c)
                                   // add contents of c at given index
E get(int index)                   // return element with given index
E remove(int index)                // remove element with given index
E set(int index, E e)              // replace element with given index by e
List
Figure 15-1. List

Search Methods that search for a specified object in the list and return its numerical position. These methods return -1 if the object is not present:

int indexOf(Object o)             // return index of first occurrence of o
int lastIndexOf(Object o)         // return index of last occurrence of o

Range-View A method that gets a view of a range of the list:

List<E> subList(int fromIndex, int toIndex)
                                   // return a view of a portion of the list

The method subList works in a similar way to the subSet operations on SortedSet (see SortedSet and NavigableSet ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required