1、上一节介绍了LinkedList的几个基本的方法,其他方法类似,就不一一介绍;

现在再来看一个删除的方法:remove(Object o)

remove方法接受一个Object参数,这里需要对参数做空与非空处理;

但是删除一个Object元素,都需要遍历整个链表,这样如果需要频繁的调用remove方法,删除的效率是非常低的;

类似的方法还有indexOf(Object o):这是根据传入的object参数来获取下标的方法;

2、根据下标来查找节点元素:node(int index)

这个查询有一个特点:把链表分成两段来进行遍历,如果index<size/2,那么遍历前半段,否则遍历后半段;

这样做虽然提高了效率,但是如果链表非常大的话,效率还是会比较慢;

3、LinkedList的迭代器对象

迭代器对象也提供了丰富的操作方法:包括查找前置元素,后继元素,增加元素和删除元素方法;

同时也会抛出并发修改异常:ConcurrentModificationException

转载于:https://www.cnblogs.com/lianliang/p/5765081.html

LinkedList类源码浅析(二)相关推荐

  1. Integer类源码浅析

    1.首先Integer提供了两类工具类,包括把一个int类型转成二进等, 其实执行转换算法只有一个方法: 1 public static String toString(int i, int radi ...

  2. Android Loader机制全面详解及源码浅析

    原文出处:csdn@工匠若水,http://blog.csdn.net/yanbober/article/details/48861457 一.概述 在Android中任何耗时的操作都不能放在UI主线 ...

  3. 【flink】Flink 1.12.2 源码浅析 : yarn-per-job模式解析 从脚本到主类

    1.概述 转载:Flink 1.12.2 源码浅析 : yarn-per-job模式解析 [一] 可以去看原文.这里是补充专栏.请看原文 2. 前言 主要针对yarn-per-job模式进行代码分析. ...

  4. tio-http-server 源码浅析(二)Http请求的处理HttpRequestHandler

    前言 在上一篇<tio-http-server 源码浅析(一)HttpRequestDecoder的实现>简单分析了HttpRequestDecoder的源码,并且已经得到了HttpReq ...

  5. 【flink】Flink 1.12.2 源码浅析 : Task数据输入

    1.概述 转载:Flink 1.12.2 源码浅析 : Task数据输入 在 Task 中,InputGate 是对输入的封装,InputGate 是和 JobGraph 中 JobEdge 一一对应 ...

  6. 【flink】Flink 1.12.2 源码浅析 :Task数据输出

    1.概述 转载:Flink 1.12.2 源码浅析 :Task数据输出 Stream的计算模型采用的是PUSH模式, 上游主动向下游推送数据, 上下游之间采用生产者-消费者模式, 下游收到数据触发计算 ...

  7. 【flink】Flink 1.12.2 源码浅析 : StreamTask 浅析

    1.概述 转载:Flink 1.12.2 源码浅析 : StreamTask 浅析 在Task类的doRun方法中, 首先会构建一个运行环境变量RuntimeEnvironment . 然后会调用lo ...

  8. 【flink】Flink 1.12.2 源码浅析 : Task 浅析

    1.概述 转载:Flink 1.12.2 源码浅析 : Task 浅析 Task 表示TaskManager上并行 subtask 的一次执行. Task封装了一个Flink operator(也可能 ...

  9. 【Flink】Flink 1.12.2 源码浅析 : TaskExecutor

    1.概述 转载:Flink 1.12.2 源码浅析 : TaskExecutor TaskExecutor 是TaskManger的具体实现. 二 .TaskExecutorGateway TaskE ...

最新文章

  1. 1.3.2 向量化实现浅层神经网络
  2. Disassembly3:variable
  3. 域嵌套太深_pyspark如何修改嵌套结构域
  4. Axure在SVN共享项目如何获取历史文件
  5. 机器阅读(一)--整体概述
  6. vspy如何在图形面板显示报文_盘点市售三款USBC 86型面板插座,支持iPhone 12快充...
  7. JS弹窗确认Ajax封装方法
  8. count(1)与count(id)与count(*)效率,以及覆盖索引,索引下推
  9. 计算机专业新手博客,【转载】学计算机必读献给计算机专业大一新生(1)
  10. JAVA中读取配置文件以及修改配置文件
  11. X86服务器虚拟化技术CNware-WinServer
  12. [转自:https://www.cnblogs.com/dskin/p/4606293.html] C# Winform实现炫酷的透明动画界面 做过.NET Winform窗体美化的人应该都很熟悉U
  13. 2022-08-22 步进电机驱动程序
  14. 地震模拟在计算机,地震模拟计算机,seismic analog computer,音标,读音,翻译,英文例句,英语词典...
  15. `不知道是不是我惹的祸.有道网页翻译就失效了.`
  16. FPGA时序约束01——基本概念
  17. 国家何时整治程序员的高薪现象???
  18. 【贪心法】黑白连线问题
  19. 预报精准的天气查询APP开发原理是什么
  20. 智慧金融系统软件需求规格说明(3.20终版)

热门文章

  1. Coursera自动驾驶课程第14讲:Linear and Nonlinear Kalman Filters
  2. android action bar 风格,自定义ActionBar风格和样式
  3. matlab 音频编辑器,在Matlab中使用App Designer可以进行实时音频处理吗?
  4. linux mysql授权远程登录,Linux中 MySQL 授权远程连接的方法步骤
  5. 衡水计算机考试报名入口,2018下半年NCRE全国计算机等级考试报名通知
  6. html页面按钮删除一条数据库,需要添加一个删除按钮到一个HTML表格从数据库中删除记录与消息...
  7. java asc码_Java中ASC码与字符互相转化
  8. leetcode39. 组合总和
  9. redis——NOSQL及redis概述
  10. dp打开思路2:POJ2533 HDU1114 HDU1260 HDU1160(水题不水)