AbstractSequentialList is an abstract class in the Java Collections Framework that provides a skeletal implementation of the List interface for sequential-access data structures like linked lists. It simplifies list implementation by providing default methods.
- Extends AbstractList and is designed for sequential access rather than random access.
- Abstract class, so it cannot be instantiated directly.
- For AbstractSequentialList, you must implement listIterator(int index) and size()
import java.util.AbstractSequentialList;
import java.util.LinkedList;
public class GfG {
public static void main(String[] args)
{
// Creating an instance of AbstractSequentialList
AbstractSequentialList<Integer> a
= new LinkedList<>();
// adding elements
a.add(5);
a.add(6);
a.add(7);
// Printing the list
System.out.println(a);
}
}
Output
[5, 6, 7]
Hierarchy of AbstractSequentialList
It implements Iterable<E>, Collection<E>, and List<E> interfaces.

Implementing class Of AbstractSequentialList
LinkedList : it is the only direct subclass of AbstractSequentialList.
Declaration of AbstractSequentialList
public abstract class AbstractSequentialList<E>extends AbstractList<E>
Constructors of AbstractSequentialList
protected AbstractSequentialList(): Since it is protected and the class is abstract, objects cannot be created directly.
AbstractSequentialList<Integer> asl = new LinkedList<Integer>();
import java.util.AbstractSequentialList;
import java.util.LinkedList;
public class AbstractSequentialListDemo {
public static void main(String args[])
{
// Creating an empty AbstractSequentialList
AbstractSequentialList<String> a
= new LinkedList<String>();
// Using add() method to add elements
a.add("Geeks");
a.add("for");
a.add("Geeks");
a.add("10");
a.add("20");
// Output the list
System.out.println("AbstractSequentialList: " + a);
// Remove the head using remove()
a.remove(3);
// Print the final list
System.out.println("Final List: " + a);
// Fetching the specific element from the list
// using get() method
System.out.println("The element is: " + a.get(2));
}
}
Output
AbstractSequentialList: [Geeks, for, Geeks, 10, 20] Final List: [Geeks, for, Geeks, 20] The element is: Geeks
Methods of AbstractSequentialList
METHOD | DESCRIPTION |
|---|---|
|  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). |
|  get​(int index) | Returns the element at the specified position in this list. |
| Â iterator() | Returns an 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). |
| remove​(int index) | Removes the element at the specified position in this list (optional operation). |
| set​(int index, E element) | Replaces the element at the specified position in this list with the specified element (optional operation). |
Methods Inherited From class java.util.AbstractList
METHOD | DESCRIPTION |
|---|---|
| add​(E e) | Appends the specified element to the end of this list (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. |
| 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. |
| 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). |
| removeRange​(int fromIndex, int toIndex) | Removes from this list all of the elements whose index is between fromIndex, inclusive, and toIndex, exclusive. |
| subList​(int fromIndex, int toIndex) | Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive. |
 Methods Inherited From class java.util.AbstractCollection
METHOD | DESCRIPTION |
|---|---|
| addAll​(Collection<? extends E> c) | Adds all of the elements in the specified collection to this collection (optional operation). |
| contains​(Object o) | Returns true if this collection contains the specified element. |
| containsAll​(Collection<?> c) | Returns true if this collection contains all of the elements in the specified collection. |
| isEmpty() | Returns true if this collection contains no elements. |
| remove​(Object o) | Removes a single instance of the specified element from this collection, if it is present (optional operation). |
| removeAll​(Collection<?> c) | Removes all of this collection's elements that are also contained in the specified collection (optional operation). |
|  retainAll​(Collection<?> c) | Retains only the elements in this collection that are contained in the specified collection (optional operation). |
| Â toArray() | Returns an array containing all of the elements in this collection. |
|  toArray​(T[] a) | Returns an array containing all of the elements in this collection; the runtime type of the returned array is that of the specified array. |
| Â toString() | Returns a string representation of this collection. |
Methods Inherited From Interface java.util.Collection
METHOD | DESCRIPTION |
|---|---|
| parallelStream() | Returns a possibly parallel Stream with this collection as its source. |
| removeIf​(Predicate<? super E> filter) | Removes all of the elements of this collection that satisfy the given predicate. |
| stream() | Returns a sequential Stream with this collection as its source. |
| toArray​(IntFunction<T[]> generator) | Returns an array containing all of the elements in this collection, using the provided generator function to allocate the returned array. |
Methods Inherited From Interface java.lang.Iterable
METHOD | DESCRIPTION |
|---|---|
| forEach​(Consumer<? super T> action) | Performs the given action for each element of the Iterable until all elements have been processed or the action throws an exception. |
Methods Inherited From Interface java.util.List
| METHOD | DESCRIPTION |
|---|---|
| addAll​(Collection<? extends E> c) | Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's iterator (optional operation). |
| contains​(Object o) | Returns true if this list contains the specified element. |
| containsAll​(Collection<?> c) | Returns true if this list contains all of the elements of the specified collection. |
| isEmpty() | Returns true if this list contains no elements. |
| remove​(Object o) | Removes the first occurrence of the specified element from this list, if it is present (optional operation). |
| removeAll​(Collection<?> c) | Removes from this list all of its elements that are contained in the specified collection (optional operation). |
| replaceAll​(UnaryOperator<E> operator) | Replaces each element of this list with the result of applying the operator to that element. |
| retainAll​(Collection<?> c) | Retains only the elements in this list that are contained in the specified collection (optional operation). |
| size() | Returns the number of elements in this list. |
| sort​(Comparator<? super E> c) | Sorts this list according to the order induced by the specified Comparator. |
| spliterator() | Creates a Spliterator over the elements in this list. |
| toArray() | Returns an array containing all of the elements in this list in proper sequence (from first to last element). |
| toArray​(T[] a) | Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array. |