Java中的LinkedList spliterator()方法

Java中的LinkedList spliterator()方法

LinkedListspliterator() 方法返回一个延迟绑定且故障快速的 Spliterator ,其元素与LinkedList相同。延迟绑定的Spliterator在第一次遍历、第一次拆分或第一次查询估计大小时绑定到元素源(即LinkedList),而不是在创建Spliterator的时间。它可以与Java 8中的Streams一起使用。同时,它也可以单独和批量遍历元素。Spliterator是遍历元素的更好方式,因为它提供了对元素更多的控制。

语法:

public Spliterator<E> spliterator()

返回值: 此方法返回LinkedList中元素的Spliterator。下面的程序说明了LinkedList的spliterator()方法:

示例1: 演示包含对象列表的LinkedList上的spliterator()方法。

// Java程序演示LinkedList的spliterator ()
//方法
import java.util.*;

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

      // 创建LinkedList,并将其设置为
      // 包含数字列表
      LinkedList<Shape> shapes = new LinkedList<Shape>();

      //将不同的形状添加到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));

      // 使用spliterator()方法创建LinkedList的Spliterator
      Spliterator<Shape> splitter = shapes.spliterator();

      // 打印Spliterator的结果
      System.out.println("形状列表:");

      // Spliterator的forEachRemaining方法
      spliter.forEachRemaining((Value) -> printDetails(Value));
   }

   // 打印细节
   public static void printDetails(Shape s)
   {
      System.out.println("************************");
      System.out.println("形状名称:" + s.shapename);
      System.out.println("形状面积:" + s.area);
   }
}

// 创建一个形状类
class Shape {

   // 形状类有两个属性
   String shapename;
   int area;

   public Shape(String shapename, int area)
   {
      super();
      this.shapename = shapename;
      this.area = area;
   }
}

输出:

形状列表:
************************
形状名称:Circle
形状面积:234
************************
形状名称:Square
形状面积:225
************************
形状名称:Cone
形状面积:543
************************
形状名称:Rectangle
形状面积:342

示例2: 演示包含电影名称列表的LinkedList上的spliterator()方法。

//定义Java程序演示LinkedList的spliterator()方法
// 
import java.util.*;
 
public class GFG {
    public static void main(String[] args)
    {
        // 创建一个LinkedList,其中包含一系列电影名称,实际上是字符串值
        LinkedList<String> NameOfMovies = new LinkedList<String>();
 
        // 向列表中添加字符串,每个字符串代表城市名称
        NameOfMovies.add("Delhi 6");
        NameOfMovies.add("3 Idiots");
        NameOfMovies.add("Stree");
        NameOfMovies.add("Airlift");
 
        // 使用Spliterator()方法
        Spliterator<String> names = NameOfMovies.spliterator();
 
        // 从Spliterator中打印结果
        System.out.println("电影列表:");
 
        // Spliterator的forEachRemaining方法
        names.forEachRemaining((n) -> System.out.println("电影名称:" + n));
    }
}

输出:

电影列表:
电影名称:Delhi 6
电影名称:3 Idiots
电影名称:Stree
电影名称:Airlift

参考文献: https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html#spliterator–

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程