Método LinkedList spliterator() en Java

El método spliterator() de LinkedList devuelve un Spliterator que se vincula en tiempo de ejecución y falla rápidamente con los mismos elementos que LinkedList. Un Spliterator de enlace tardío se enlaza con el origen de los elementos, lo que significa LinkedList en el punto del primer recorrido, la primera división o la primera consulta del tamaño estimado, en lugar de en el momento en que se crea el Spliterator. Se puede usar con Streams en Java 8. También puede atravesar elementos individualmente y también en masa. Spliterator es una mejor manera de atravesar el elemento porque proporciona más control sobre los elementos.

Sintaxis:

public Spliterator<E> spliterator()

Devoluciones: este método devuelve un Spliterator sobre los elementos en LinkedList.

Los siguientes programas ilustran el método spliterator() de LinkedList:

Ejemplo 1: Para demostrar el método spliterator() en LinkedList que contiene una lista de objetos.

// Java Program Demonstrate spliterator()
// method of LinkedList
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an LinkedList which going to
        // contains a list of numbers
        LinkedList<Shape> shapes = new LinkedList<Shape>();
  
        // Add different shape to linkedlist
        shapes.add(new Shape("Circle", 234));
        shapes.add(new Shape("Square", 225));
        shapes.add(new Shape("Cone", 543));
        shapes.add(new Shape("Rectangle", 342));
  
        // create Spliterator of LinkedList
        // using spliterator() method
        Spliterator<Shape> spliter = shapes.spliterator();
  
        // print result from Spliterator
        System.out.println("list of Shapes:");
  
        // forEachRemaining method of Spliterator
        spliter.forEachRemaining((Value) -> printDetails(Value));
    }
  
    // print details
    public static void printDetails(Shape s)
    {
        System.out.println("************************");
        System.out.println("Shape Name : " + s.shapename);
        System.out.println("Shape Area : " + s.area);
    }
}
  
// create a shape class
class Shape {
  
    // shape class has two attributes
    String shapename;
    int area;
  
    public Shape(String shapename, int area)
    {
        super();
        this.shapename = shapename;
        this.area = area;
    }
}
Producción:

list of Shapes:
************************
Shape Name : Circle
Shape Area : 234
************************
Shape Name : Square
Shape Area : 225
************************
Shape Name : Cone
Shape Area : 543
************************
Shape Name : Rectangle
Shape Area : 342

Ejemplo 2: para demostrar el método spliterator() en LinkedList que contiene una lista de nombres de películas.

// Java Program Demonstrate spliterator()
// method of LinkedList
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an LinkedList which going to
        // contains a list of Movie names which is actually
        // string values
        LinkedList<String> NameOfMovies = new LinkedList<String>();
  
        // Add Strings to list
        // each string represents city name
        NameOfMovies.add("Delhi 6");
        NameOfMovies.add("3 Idiots");
        NameOfMovies.add("Stree");
        NameOfMovies.add("Airlift");
  
        // using spliterator() method
        Spliterator<String> names = NameOfMovies.spliterator();
  
        // print result from Spliterator
        System.out.println("list of Movies:");
  
        // forEachRemaining method of Spliterator
        names.forEachRemaining((n) -> System.out.println("Movie Name: " + n));
    }
}
Producción:

list of Movies:
Movie Name: Delhi 6
Movie Name: 3 Idiots
Movie Name: Stree
Movie Name: Airlift

Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html#spliterator–

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *