Categories: Java

Abstract List in Java

This class provides a skeletal implementation of the List interface in order to reduce the effort required to implement this interface in combination with a “random access” data store (such as an array). Abstract List should be used instead of this class for sequential access data (such as a linked list).

Declaration:
public abstract class AbstractList<E> extends AbstractCollection<E>
implements List<E>
Methods of Abstract List Class:
Method Description
add(E e)Appends the specified element to the end of this list (optional operation).
add(int index, E element)Inserts the specified element at the specified position in this list (optional operation).
addAll(int index, Collection<? extends E> c)Inserts all of the elements in the specified collection into this list at the specified position (optional operation).
clear()Removes all of the elements from this list (optional operation).
equals(Object o)Compares the specified object with this list for equality.
get(int index)Returns the element at the specified position in this list.
hashCode()Returns the hash code value for this list.
indexOf(Object o)Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
iterator()Returns an iterator over the elements in this list in proper sequence.

lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
listIterator()Returns a list iterator over the elements in this list (in proper sequence).
listIterator(int index)Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.
remove(int index)Removes the element at the specified position in this list (optional operation).
removeRange(int fromIndex, int toIndex)Removes from this list all of the elements whose index is between fromIndex, inclusive, and toIndex, exclusive.
set(int index, E element)Replaces the element at the specified position in this list with the specified element (optional operation).
subList(int fromIndex, int toIndex)Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive.
Example:
import java.util.LinkedList;
import java.util.AbstractList;
public class Demo {
   public static void main(String[] args) {
      AbstractList<Integer> myList = new LinkedList<Integer>();
      myList.add(50);
      myList.add(100);
      myList.add(150);
      myList.add(200);
      myList.add(250);
      myList.add(300);
      myList.add(350);
      myList.add(400);
      System.out.println("Elements in the AbstractList class = " + myList);
      myList.remove(3);
 
        // Print the final list
        System.out.println("Final AbstractList: " + myList);
 
        // getting the index of last occurrence
        // using lastIndexOf() method
        int lastindex = myList.lastIndexOf("A");
 
        // printing the Index
        System.out.println("Last index of A : "
                        + lastindex);
   }
}

Output:
Elements in the AbstractList class = [50, 100, 150, 200, 250, 300, 350, 400]
Final AbstractList: [50, 100, 150, 250, 300, 350, 400]
Last index of A : -1
ImmutableList in Java:
  • ImmutableList, as the name implies, is an immutable type of List. It means that the List’s contents are fixed or constant after declaration, i.e. they are read-only.
  • UnsupportedOperationException is thrown whenever an attempt is made to add, delete, or update elements in the List.
  • An ImmutableList does not support null elements.
  • NullPointerException is thrown if an attempt is made to create an ImmutableList with a null element. UnsupportedOperationException is thrown if an attempt is made to add a null element to a List.
ImmutableList Benefits:
  • Thread safety is ensured.
  • They are memory efficient.
  • As they are immutable, they can be passed to third-party libraries without issue.

Note: also read about the File class in Java

Follow Me

If you like my post, please follow me to read my latest post on programming and technology.

https://www.instagram.com/coderz.py/

https://www.facebook.com/coderz.py

Share
Published by
Rabecca Fatima

Recent Posts

Generate Parenthesis | Intuition + Code | Recursion Tree | Backtracking | Java

Problem Statement: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. Example…

3 months ago

Square Root of Integer

Given an integer A. Compute and return the square root of A. If A is…

1 year ago

Build Array From Permutation

Given a zero-based permutation nums (0-indexed), build an array ans of the same length where…

1 year ago

DSA: Heap

A heap is a specialized tree-based data structure that satisfies the heap property. It is…

2 years ago

DSA: Trie

What is a Trie in DSA? A trie, often known as a prefix tree, is…

2 years ago

Trees: Lowest Common Ancestor

What is the Lowest Common Ancestor? In a tree, the lowest common ancestor (LCA) of…

2 years ago