Java LinkedList spliterator() Method



Description

The Java LinkedList spliterator() method creates a late-binding and fail-fast Spliterator for the elements in this linkedList. Late binding means the spliterator binds to the source of elements at the time of traversal and not when it is created. Spliterator is a better iterator and provides more controls over items during traversal.

Declaration

Following is the declaration for java.util.LinkedList.spliterator() method

public Spliterator<E> spliterator()

Parameters

NA

Return Value

This method returns a Spliterator over the elements in this list in proper sequence.

Exception

NA

Getting Spliterator of the LinkedList of Integers Example

The following example shows the usage of Java LinkedList spliterator() method. We're creating a LinkedList of Integers. We're adding couple of Integers to the LinkedList object using add() method calls per element and using spliterator() method, we're iterating the list and print all the elements.

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.Spliterator;

public class LinkedListDemo {
   public static void main(String[] args) {
      
      // create an empty linked list 
      LinkedList<Integer> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add(0);
      linkedList.add(1);
      linkedList.add(2);
      linkedList.add(3);
      linkedList.add(4);
      linkedList.add(5);
      linkedList.add(6);
	  
      Spliterator<Integer> spliterator = linkedList.spliterator();
      spliterator.forEachRemaining(i -> System.out.println(i));
   }
}

Output

Let us compile and run the above program, this will produce the following result −

0
1
2
3
4
5
6

Getting Spliterator of the LinkedList of Integers Example

The following example shows the usage of Java LinkedList Spliterator() method. We're creating a LinkedList of Strings. We're adding couple of Strings to the LinkedList object using add() method calls per element and using Spliterator() method, we're iterating the list and print all the elements.

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.Spliterator;

public class LinkedListDemo {
   public static void main(String[] args) {
      
      // create an empty linked list
      LinkedList<String> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add("A");
      linkedList.add("B");
      linkedList.add("C");
      linkedList.add("D");
      linkedList.add("E");
      linkedList.add("F");
	  
      Spliterator<String> spliterator = linkedList.spliterator();
      spliterator.forEachRemaining(i -> System.out.println(i));
   }
}

Output

Let us compile and run the above program, this will produce the following result −

A
B
C
D
E
F

Getting Spliterator of the LinkedList of Integers Example

The following example shows the usage of Java LinkedList spliterator() method. We're creating a LinkedList of Student objects. We're adding couple of Student objects to the LinkedList object using add() method calls per element and using spliterator() method, we're iterating the list and print all the elements.

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.Spliterator;

public class LinkedListDemo {
   public static void main(String[] args) {

      // create an empty linkedList
      LinkedList<Student> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add(new Student(1, "Julie"));
      linkedList.add(new Student(2, "Robert"));
      linkedList.add(new Student(3, "Adam"));

      Spliterator<Student> spliterator = linkedList.spliterator();
      spliterator.forEachRemaining(i -> System.out.println(i));    
   }
}

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

[ 1, Julie ]
[ 2, Robert ]
[ 3, Adam ]
java_util_linkedlist.htm
Advertisements