In this Java list tutorial, I will help you understand the characteristics of list collections, how to use list implementations (ArrayList and LinkedList) in day-to-day programming and look at various examples of common programming practices when using lists.
The List interface extends Collection and declares the behavior of a collection that stores a sequence of elements.
- Elements can be inserted or accessed by their position in the list, using a zero-based index.
- A list may contain duplicate elements.
- In addition to the methods defined by Collection, List defines some of its own, which are summarized in the following table.
- Several of the list methods will throw an UnsupportedOperationException if the collection cannot be modified, and a ClassCastException is generated when one object is incompatible with another.
|Sr.No.||Method & Description|
|1||void add(int index, Object obj)
Inserts obj into the invoking list at the index passed in the index. Any pre-existing elements at or beyond the point of insertion are shifted up. Thus, no elements are overwritten.
|2||boolean addAll(int index, Collection c)
Inserts all elements of c into the invoking list at the index passed in the index. Any pre-existing elements at or beyond the point of insertion are shifted up. Thus, no elements are overwritten. Returns true if the invoking list changes and returns false otherwise.
|3||Object get(int index)
Returns the object stored at the specified index within the invoking collection.
|4||int indexOf(Object obj)
Returns the index of the first instance of obj in the invoking list. If obj is not an element of the list, .1 is returned.
|5||int lastIndexOf(Object obj)
Returns the index of the last instance of obj in the invoking list. If obj is not an element of the list, .1 is returned.
|6||ListIterator listIterator( )
Returns an iterator to the start of the invoking list.
|7||ListIterator listIterator(int index)
Returns an iterator to the invoking list that begins at the specified index.
|8||Object remove(int index)
Removes the element at position index from the invoking list and returns the deleted element. The resulting list is compacted. That is, the indexes of subsequent elements are decremented by one.
|9||Object set(int index, Object obj)
Assigns obj to the location specified by index within the invoking list.
|10||List subList(int start, int end)
Returns a list that includes elements from start to end.1 in the invoking list. Elements in the returned list are also referenced by the invoking object.
Example of List In JAVA
Let us discuss List Interface with the help of the program. In this program objects of all the List implementations (Vector, ArrayList, LinkedList) are created and data of String type is added and then displayed, we have divided this program into 3 Steps that we will discuss one by one.
// Java program to demonstrate positional access
// operations on List interface
public class ListDemo
public static void main (String args)
// Creating a list
List<Integer> l1 = new ArrayList<Integer>();
l1.add(0, 1); // adds 1 at 0 index
l1.add(1, 2); // adds 2 at 1 index
System.out.println(l1); // [1, 2]
// Creating another list
List<Integer> l2 = new ArrayList<Integer>();
// Will add list l2 from 1 index
// Removes element from index 1
System.out.println(l1); // [1, 2, 3, 2]
// Prints element at index 3
// Replace 0th element with 5
[1, 1, 2, 3, 2]
[1, 2, 3, 2]
[5, 2, 3, 2]