源码学习
文章平均质量分 56
java-wfr
有大局观,善于分析和解决问题
展开
-
LinkedList双向链表存数据
@Testpublic void testLinkedList(){ List list = new LinkedList(); for (int i = 0; i < 100000; i++) { list.add(i); list.get(i); }}一、通过双向链表存数据private static class Node<E> { E item; Node<E&...原创 2021-03-23 17:58:47 · 268 阅读 · 0 评论 -
HashSet核心源码笔记
@Testpublic void testSet(){ Set set = new HashSet(); for (int i = 0; i < 100000; i++) { set.add(i); } System.out.println(set.contains(1)); for (Object j:set) { System.out.println(j); } Iterator it = set.iter.原创 2021-03-17 15:01:17 · 82 阅读 · 0 评论 -
ArrayList核心源码笔记
一、ArrayList就是一个类,内部封装了Object[]用于存取数据。@Testpublic void testArrayList(){ List list = new ArrayList<>(); for (int i = 0; i < 100000; i++) { list.add(i); list.get(i); }}二、ADD方法: 主体逻辑:当插入一个元素时,先判断一下数组还有没有位置可以插入,如果没.原创 2021-03-17 11:38:30 · 75 阅读 · 0 评论 -
HashMap底层实现原理及测试
jdk1.8的HashMap = 数组+链表+红黑树1、测试代码如下:/** * @Description: * 本案例用于测试HashMap何时扩容,扩容时是怎么rehash的,何时转红黑树转红黑树 * 本案例以最少的元素个数(9个)触发扩容,以最少的元素个数(33个)触发转红黑树 * @Author: wufurun@ule.com * @Date: 2021/3/15 14:11 * @Param: */public class TestHashMap { // Ha原创 2021-03-15 17:14:46 · 209 阅读 · 1 评论