• 《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)分割然后起多线程调用,来减少遍历的时间。

  • 相关阅读:
    Docker私有仓库
    Docker入门
    HBase表的数据导出和导入
    HBase shell的使用记录
    Redis集群模式(Cluster)部署
    Oracle数据库sqlldr工具的使用
    oracle使用impdp和expdp导入导出数据
    Linux自动同步时间的方法
    Linux配置ssh免密码登陆
    Linux中逻辑卷(LV)的创建、增大和减小
  • 原文地址:https://www.cnblogs.com/jssj/p/13837319.html
Copyright © 2020-2023  润新知