Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java Interfaces

Java Data Structures

Java Collections Algorithms

Advanced Java

Java Miscellaneous

Java APIs & Frameworks

Java Class References

Java Useful Resources

Java - List Interface



List Interface

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.

Declaration of Java List Interface

The following is the declaration of a List interface in Java:

public interface List<E> extends Collection<E>; 

Creating a Java list

A Java list is created using the List interface. The syntax is as follows -

List<Obj> list = new ArrayList<Obj> (); 

Example of List Interface

The following example demonstrates an example of List interface in Java -

import java.util.*;

// The Main class
public class Main {
  public static void main(String[] args) {
    // Creating two lists using List interface
    List < Integer > list1 = new ArrayList < Integer > ();
    List < Integer > list2 = new ArrayList < Integer > ();

    // Adding elements to list 1
    list1.add(0, 10);
    list1.add(1, 20);

    // Printing list 1
    System.out.println("list1 : " + list1);

    // Adding elements to list 2
    list2.add(10);
    list2.add(20);
    list2.add(30);

    // Adding all elements of list 2 in list 1
    list1.addAll(1, list2);

    // Printing list 2
    System.out.println("list2 : " + list2);

    // Removes an element from list 1 (from index 1)
    list1.remove(1);

    // Printing list 1
    System.out.println("list1 after removing an element: " + list1);

    // get() method
    System.out.println("list1 using get() : " + list1.get(2));

    // Replacing element
    list1.set(0, 50);

    // Printing the list 1
    System.out.println("list1 : " + list1);
  }
}

Output

list1 : [10, 20]
list2 : [10, 20, 30]
list1 after removing an element: [10, 20, 30, 20]
list1 using get() : 30
list1 : [50, 20, 30, 20]

List Interface Methods

The following are the methods of List Interface in Java -

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.

More Examples of List Interface

Example: Java List using ArrayList

The above interface has been implemented using ArrayList. Following is the example to explain few methods from various class implementation of the above collection methods −

import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> a1 = new ArrayList<>();
      a1.add("Zara");
      a1.add("Mahnaz");
      a1.add("Ayan");      
      System.out.println(" ArrayList Elements");
      System.out.print("\t" + a1);
   }
}

Output

 ArrayList Elements
   [Zara, Mahnaz, Ayan]

Example: Java List using LinkedList

The above interface has been implemented using LinkedList. Following is the example to explain few methods from various class implementation of the above collection methods −

import java.util.LinkedList;
import java.util.List;
public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> a1 = new LinkedList<>();
      a1.add("Zara");
      a1.add("Mahnaz");
      a1.add("Ayan");      
      System.out.println(" LinkedList Elements");
      System.out.print("\t" + a1);
   }
}

Output

 LinkedList Elements
   [Zara, Mahnaz, Ayan]

Example: Adding Element to Java List

The above interface has been implemented using ArrayList. Following is another example to explain few methods from various class implementation of the above collection methods −

import java.util.ArrayList;
import java.util.List;
public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> a1 = new ArrayList<>();
      a1.add("Zara");
      a1.add("Mahnaz");
      a1.add("Ayan");      
      System.out.println(" ArrayList Elements");
      System.out.print("\t" + a1);
      
      // remove second element
      a1.remove(1);
      
      System.out.println("\n ArrayList Elements");
      System.out.print("\t" + a1);
   }
}

Output

 ArrayList Elements
   [Zara, Mahnaz, Ayan]
 ArrayList Elements
   [Zara, Ayan]
Advertisements