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

  • 相关阅读:
    JSP实现页面自动跳转
    marquee属性的使用说明
    jsp 按钮 超链接 直接跳转至另一页面
    生成验证码图片代码
    js 通过判断月数填充日数下拉框
    邮箱正则验证
    jsp 验证用正则表达式
    onselectstart 与 -moz-user-select
    onselectstart 、onselect区别
    NSOperation基本操作
  • 原文地址:https://www.cnblogs.com/jssj/p/13837319.html
Copyright © 2011-2022 走看看