Java LinkedList源码
来源:互联网 发布:阿菲金软件价格 编辑:程序博客网 时间:2024/06/05 13:24
Linkedlist的源码结构和其他没有太大区别,但细节上非常有学习的必要
一、大体结构
总体上还是围绕双向链表,以链表的操作:
1、CURD为底拓展了一系列方法,从首尾增删的remove-unlinkf/l、add-link,中间删除的remove-unlink,查询的一系列
2、边界检测用的方法:isPositionIndex等
二、方法细节笔记
方法之间低耦合,抽象出高内聚的方法,在服务性的方法中调用,边界检测放在外层方法中
public void add(int index, E element) { checkPositionIndex(index); if (index == size) linkLast(element); else linkBefore(element, node(index)); }
实现高复用,add方法多使用私有方法,如何设计私有方法,抽象出最原本的方法
Node<E> node(int index) { // assert isElementIndex(index); if (index < (size >> 1)) { Node<E> x = first; for (int i = 0; i < index; i++) x = x.next; return x; } else { Node<E> x = last; for (int i = size - 1; i > index; i--) x = x.prev; return x; } }
提高效率,当索引在前半部分时从first开始遍历,反之从last,大大提高效率
阅读全文
0 0
- Java源码之LinkedList
- Java LinkedLIst 源码分析
- 【java源码分析】-LinkedList
- Java LinkedList 源码分析
- JAVA源码学习-LinkedList
- Java--LinkedList源码解读
- 《JAVA源码分析》:LinkedList
- Java源码之LinkedList
- java LinkedList源码解读
- java LinkedList 源码浅析
- 源码分析-java-LinkedList
- java LinkedList 源码解读
- JAVA源码分析--LinkedList
- Java LinkedList 源码小结
- Java LinkedList源码剖析
- Java源码阅读-LinkedList
- java--LinkedList源码分析
- 《JAVA源码分析》:LinkedList
- SpringMVC配置完成无法访问基础jsp页面
- 神经网络入门介绍
- CentOS配置SSH免密码登录(密匙登录)
- nginx限制连接数和下载速度
- 关于echo音箱等人工智能(语音交互)产品形态的思考
- Java LinkedList源码
- 互联网中寻找相似实体(lookalike)算法优化方案
- 配置scrapy下载图片
- c语言不定长形参
- 用Scrapy对豆瓣top250进行电影详细信息爬取
- 【Java概念】内部类(12)
- com.qf.util工具类里边的C3P0Util.java
- 四大组件---Activity
- CentOS7安装ActiveMQ