一点一点看JDK源码(五)java.util.ArrayList 后篇之SubList
一点一点看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的更多相关文章
- JDK1.8源码(五)——java.util.ArrayList 类
关于 JDK 的集合类的整体介绍可以看这张图,本篇博客我们不系统的介绍整个集合的构造,重点是介绍 ArrayList 类是如何实现的. 1.ArrayList 定义 ArrayList 是一个用数组实 ...
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach
一点一点看JDK源码(五)java.util.ArrayList 后篇之forEach liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 代 ...
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之sort与Comparator
一点一点看JDK源码(五)java.util.ArrayList 后篇之sort与Comparator liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看JD ...
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之Spliterator多线程遍历
一点一点看JDK源码(五)java.util.ArrayList 后篇之Spliterator多线程遍历 liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点看J ...
- 一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate
一点一点看JDK源码(五)java.util.ArrayList 后篇之removeIf与Predicate liuyuhang原创,未经允许禁止转载 本文举例使用的是JDK8的API 目录:一点一点 ...
- JDK1.8源码(五)——java.util.Vector类
JDK1.8源码(五)--java.lang. https://www.cnblogs.com/IT-CPC/p/10897559.html
- JDK1.8源码(一)——java.util.ArrayList
ArrayList 定义 ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复. public class ArrayList<E> extends Abstr ...
- JDK1.8源码(六)——java.util.ArrayList类
ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了Clonea ...
- 一点一点看JDK源码(〇)
一点一点看JDK源码(〇) liuyuhang原创,未经允许进制转载 写在前面: 几乎所有的大神都会强调看源码,也强调源码的重要性: 但是如何看源码,源码看什么?看了什么用?看了怎么用? 困扰很多人, ...
随机推荐
- Grunt实践之简易教程
以前自己太low了,都没用过高大上的前端自动化打包工具,开发方式也是偏传统的.加入到新的团队后得拼命赶上啊,前端技术更迭太快,各种技术层出不穷,智商都快不够用了.看人家都用的牛逼哄哄的技术,自己还守着 ...
- Expected indentation of 0 spaces but found 2
在搭建vue项目时候,启动后就提示 http://eslint.org/docs/rules/indent Expected indentation of 0 spaces but found 2 由 ...
- 如何解决git fatal: refusing to merge unrelated histories
我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传. 先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法p ...
- Mavn 使用介绍
1 Maven介绍 1.1 项目开发中遇到的问题 1.都是同样的代码,为什么在我的机器上可以编译执行,而在他的机器上就不行? 2.为什么在我的机器上可以正常打包,而配置管理员却打不出来? 3.项目 ...
- chrome 控制台里 打印对象
我们经常使用 chrome 的 控制台 console.log() 打印 但有时候我们需要把一个对象复制下来(而这个对象嵌套比较深) 打印出来的我们不好复制 如下图 我们可以使用谷歌控制台的c ...
- Apache服务器运维笔记(6)----目录 文件 网络容器的安全问题
<Directory>.<Files>.<Location> 这三个容器的作用都很相似,都是以容器的形式来封装一组指令对访问进行控制,只是它们的区别在于作用于目录. ...
- RocketMQ读书笔记1——简述
[消息队列的功能介绍] 分布式消息队列可以提供应用解耦.流量削峰.消息分发.保证最终一致性.方便动态扩容等功能. [MQ使用场景1——应用解耦] 复杂的系统如电商系统,会存在多个子系统,如订单系统.库 ...
- 3 TFRecord样例程序实战
将图片数据写入Record文件 # 定义函数转化变量类型. def _int64_feature(value): return tf.train.Feature(int64_list=tf.train ...
- 排序算法积累(2)----sort排序
转载:http://blog.csdn.net/sunshangjin/article/details/40296357 想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数so ...
- Skip List & Bloom Filter
Skip List | Set 1 (Introduction) Can we search in a sorted linked list in better than O(n) time?Th ...