zoukankan      html  css  js  c++  java
  • 《Java基础知识》Java 分割迭代器(Spliterator)

    前言

    研读ArrayList源码的时候,发现使用了(Spliterator)分割迭代器。就简单的了解一下分割迭代器的使用方式。

    原理

    看一个分割迭代器的使用案例:

    public class SpliteratorTest {
    
        public static void main(String[] args) {
            List<String> list = new ArrayList<>();
            for (int i = 0; i < 100 ; i++) {
                list.add(i+"");
            }
    
            // 分割迭代器
            Spliterator spliterator = list.spliterator();
            Spliterator s1 = spliterator.trySplit();
            Spliterator s2 = spliterator.trySplit();
    
            System.out.println("===============spliterator================");
            spliterator.forEachRemaining((i) -> System.out.print(i+" "));
            System.out.println();
            System.out.println("===============s1================");
            s1.forEachRemaining((i) -> System.out.print(i+" "));
            System.out.println();
            System.out.println("===============s2================");
            s2.forEachRemaining((i) -> System.out.print(i+" "));
            System.out.println();
        }
    }

    运行结果:

    总结

    分割迭代器(Spliterator)平时工作中使用也比较少,我能想到的使用场景就是,一个list size特别大,通过分割迭代器(Spliterator)分割然后起多线程调用,来减少遍历的时间。

  • 相关阅读:
    EntityFrameworkCore 试用
    学习Core 本机开发调试 (环境)
    非代码的异常
    .net 下判断中英文字符串长度
    LingQ 的Distinct使用方法
    Excel导入导出各种方式分析
    VS使用的快捷方式
    数据库事物
    web开发常用正则表达式
    特殊字符转义
  • 原文地址:https://www.cnblogs.com/jssj/p/13837319.html
Copyright © 2011-2022 走看看