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

  • 相关阅读:
    python基础2
    python基础1
    25 CSS3盒子模型
    24 CSS3新增选择器
    23 html5新特性
    22 css初始化
    21 布局技巧
    20 溢出的文字显示省略号
    19 vertical-align 属性应用
    18 CSS三角 用户界面样式
  • 原文地址:https://www.cnblogs.com/jssj/p/13837319.html
Copyright © 2011-2022 走看看