一点一点看JDK源码(五)java.util.ArrayList 后篇之SubList

liuyuhang原创,未经允许禁止转载

本文举例使用的是JDK8的API

目录:一点一点看JDK源码(〇)

SubList可以将一个数组根据index拆分为多个数组,使用多线程对于数组进行遍历

未使用多线程的代码比较简单,代码示例如下:

 package com.FM.ArrayListStudy;

 import java.util.ArrayList;
import java.util.List; public class SubListInArrayListStudy {
public static void main(String[] args) {
// 初始化list
ArrayList<Integer> list01 = new ArrayList<Integer>();
for (int i = 0; i < 20; i++) {//除4无余数
list01.add(i + 1);
}
ArrayList<Integer> list02 = new ArrayList<Integer>();
for (int i = 0; i < 30; i++) {//除4有余数
list02.add(i + 1);
} int size1 = list01.size();
int last11 = size1/4;
int last12 = size1/4*2;
int last13 = size1/4*3; int size2 = list02.size();
int last21 = size2/4;
int last22 = size2/4*2;
int last23 = size2/4*3; List<Integer> subList11 = list01.subList(0, last11);
List<Integer> subList12 = list01.subList(last11, last12);
List<Integer> subList13 = list01.subList(last12, last13);
List<Integer> subList14 = list01.subList(last13, size1); List<Integer> subList21 = list02.subList(0, last21);
List<Integer> subList22 = list02.subList(last21, last22);
List<Integer> subList23 = list02.subList(last22, last23);
List<Integer> subList24 = list02.subList(last23, size2); System.out.println(subList11+" size: "+subList11.size());
System.out.println(subList12+" size: "+subList12.size());
System.out.println(subList13+" size: "+subList13.size());
System.out.println(subList14+" size: "+subList14.size());
System.out.println("-=-=-=-=-=-=-=");
System.out.println(subList21+" size: "+subList21.size());
System.out.println(subList22+" size: "+subList22.size());
System.out.println(subList23+" size: "+subList23.size());
System.out.println(subList24+" size: "+subList24.size()); }
}

运行结果

使用多线程方式的代码连接在此,只是并非使用subList,自行修改

 一点一点看JDK源码(五)java.util.ArrayList 后篇之Spliterator

以上!!

一点一点看JDK源码(五)java.util.ArrayList 后篇之SubList的更多相关文章

  1. JDK1.8源码(五)——java.util.ArrayList 类

    关于 JDK 的集合类的整体介绍可以看这张图,本篇博客我们不系统的介绍整个集合的构造,重点是介绍 ArrayList 类是如何实现的. 1.ArrayList 定义 ArrayList 是一个用数组实 ...

  2. 一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach

    一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 代 ...

  3. 一点一点看JDK源码(五)java.util.ArrayList 后篇之sort与Comparator

    一点一点看JDK源码(五)java.util.ArrayList 后篇之sort与Comparator liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JD ...

  4. 一点一点看JDK源码(五)java.util.ArrayList 后篇之Spliterator多线程遍历

    一点一点看JDK源码(五)java.util.ArrayList 后篇之Spliterator多线程遍历 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看J ...

  5. 一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate

    一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点 ...

  6. JDK1.8源码(五)——java.util.Vector类

    JDK1.8源码(五)--java.lang. https://www.cnblogs.com/IT-CPC/p/10897559.html

  7. JDK1.8源码(一)——java.util.ArrayList

      ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. public class ArrayList<E> extends Abstr ...

  8. JDK1.8源码(六)——java.util.ArrayList类

    ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了Clonea ...

  9. 一点一点看JDK源码(〇)

    一点一点看JDK源码(〇) liuyuhang原创,未经允许进制转载 写在前面: 几乎所有的大神都会强调看源码,也强调源码的重要性: 但是如何看源码,源码看什么?看了什么用?看了怎么用? 困扰很多人, ...

随机推荐

  1. 记录开发Nodejs c++ addon的一些经验(三、关于node-gyp)

    关于node-gyp如何进行编译,我想它的官网已经说的很详细了: https://github.com/nodejs/node-gyp 但是我感觉关于binding.gyp文件的语法规则还是说的不明确 ...

  2. 为什么canvas宽高要设置在标签内>>宽高设置在style和设置在canvas的区别

    一直很困惑为什么canvas标签和其他标签不一样,宽高需要设置在canvas标签里,设置在style里就会有问题. 纯粹个人理解,有错误欢迎指出. > 结论写在头 设置在style里有问题其实是 ...

  3. angular ng指令

    1.指令 ng-app,ng- 都是angular的指令系统ng-app: ng-app是angular的初始化,一个页面只能有一个ng-app,位置不限制.在页面上加入了这个执行,那么从当前的元素以 ...

  4. easyui汉化啊!

    <script type="text/javascript" src="__PUBLIC__/jquery-easyui-1.4.4/locale/easyui-l ...

  5. 04_dubbo_ioc

    [dubbo的IOC实现方法] dubbo的IOC具体实现在:T injectExtension( T instance )方法中,该方法在3个地方被使用: ExtensionLoader.getEx ...

  6. 23_ConcurrentLinkedQueue

    [简述] ConcurrentLinkedQueue是一个适用于高并发场景下的队列,通过无锁的方式,实现了高并发状态下的高性能,通常ConcurrentLinkedQueu性能好于BlockingQu ...

  7. EditText的setInputType方法里面应该填什么?

    转自CSDN:http://blog.csdn.net/u014158743/article/details/52488010 | 以密码类型(password)为例 android:inputTyp ...

  8. Qt 之 QSS(样式表语法)

    https://blog.csdn.net/liang19890820/article/details/51691212 简述 Qt样式表(以下统称QSS)的术语和语法规则几乎和CSS相同.如果你熟悉 ...

  9. android快速启动动画

    http://blog.csdn.net/robert_cysy/article/details/72824513 https://www.cnblogs.com/404map/p/4981099.h ...

  10. 【Leetcode】【Hard】Search in Rotated Sorted Array

    Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...