A List is an ordered collection of objects in which duplicate values can be stored. Since List preserves the insertion order, it allows positional access and insertion of elements.

Creating List Objects

Different types of lists can be created in different ways:

List a = new ArrayList();
List b = new LinkedList();

Type-safe Lists can be defined in the following way:

List<Obj> list = new ArrayList<Obj> ();
List<Integer> list = new ArrayList<Integer> (); // creates an integer list

Operations on Lists

In addition to the operations of Collections, Lists also allow add, remove, get and set operations based on numerical positions of elements in List. List provides following methods for these operations:

  • void add(int index, Object o): This method adds given element at specified index.
  • boolean addAll(int index, Collection c): This method adds all elements from specified collection to list. First element gets inserted at given index. If there is already an element at that position, that element and other subsequent elements(if any) are shifted to the right by increasing their index.
  • Object remove(int index): This method removes an element from the specified index. It shifts subsequent elements(if any) to left and decreases their indexes by 1.
  • Object get(int index): This method returns element at the specified index.
  • Object set(int index, Object new): This method replaces element at given index with new element. This function returns the element which was just replaced by new element.

Working with Lists

The following java program demonstrates positional access:

// 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 at index 1
l1.addAll(1, l2); 

// Removes element from index 1 
System.out.println(l1); // [1, 2, 3, 2] 

// Prints element at index 3 

// Replace 0th element with 5 
l1.set(0, 5);    


results matching ""

    No results matching ""