关于LIst集合

前言:

第一次写博客,有些东西可能总结的到位,发表一下自己的一些观点,欢迎大佬们点评和指教

正文:

list集合可以分为ArrayLlst和LinkedList。

ArrayList

ArrayList在集合中常被用作于查询和修改,而不用于新增和删除。这是因为Arraylist的底层是数组,每一次新增或者删除都需要创建一个新数组,该新数组长度为原数组长度大- -或者小一,运行效率很慢,而且假如你要复制100次,那么将会浪费很多内存空间,但是数组在于查询和修改就很方便,数组的好处就是他会有一个下标,可以根据他的下标去很快的找到

LinkedList

LinkedLlist则和ArrayList相反,他被用作于删除和新增,而不用于去查询和修改,因为LinkedL ist的底层是链表,(由于第一 -次写也不知道怎么画图只好将就- -下)大概可以理解成一串手链吧由那种一颗颗的珠子串成,第一颗串进去的就是一个头头,一颗颗的连接在一起,前一个的头指向后一个的尾,但是如果他其中有一颗珠子坏了就可以把绳子断开把坏的扔掉再把线连起来就可以了,这就是删除,新增也一样,把你要新增的珠子放到你要放的地方,把绳子打开放进去。但是如果要查询和修改的话就比较麻烦了,他需要去找到那个,但是你要找到那个就需要找到他的前一个,以此类推,就需要从第一个开始也就是所说的开始找就会很慢,查询也是一样

总结

ArrayList集合增删慢效率低浪费内存但是查改快

    LinkedList集合查改慢效率低但是增删快

list集合的一些小见解的更多相关文章

  1. 关于FPGA的一些小见解

    Xilinx FPGA配置bit流文件 Xilinx FPGA的供电是采用USB作为电源,使用Verilog HDL或VHDL实现的逻辑电路通过Xilinx的综合工具生成bit流文件,通过Digile ...

  2. Java集合,扑克牌的小项目练习

    Java集合,扑克牌的小项目练习 2小时学完了类与集合,一直二倍加跳过,集合和类的学习我觉得得多实践中去记住,光靠背,永远也背不完,学的时候记一下常用的,特殊的就行了,用的时候再查,多写代码才能会,哈 ...

  3. React,关于redux的一点小见解

    最近项目做多页面应用使用到了,react + webpack + redux + antd去构建多页面的应用,本地开发用express去模拟服务端程序(个人觉得可以换成dva).所以在这里吐槽一下我自 ...

  4. 有关Set集合的一个小问题

    先看两段代码: Demo1: Set<Short>s=new HashSet<>(); for(Short i=0;i<100;i++){ s.add(i); s.rem ...

  5. 初学划分树,小见解之!POJ-2104/HDU-2665

    划分树 本来是学主席树的,可怜我等巨弱观群巨博客难解fotle主席的思想精髓.于是学了一下划分树,嗯,花了一下午时间理解build(其实自己模拟一遍就通了),我很难理解为什么划分树会看不懂而能学会主席 ...

  6. WCF--安全小见解...

    由于WCF写的服务需要Ajax来进行调用(这个配置过程也是一个比较咕~~(╯﹏╰)b的经历...), 所以调用的过程都是前台可以看到的,不加点安全措施上去,真的像是一个裸奔在互联网上的接口... 反正 ...

  7. android 内存溢出oom错误的一些小见解

    转:http://blog.csdn.net/xuhui_7810/article/details/9493681 我们在代码里调用setBackgroundResource(int resid)来设 ...

  8. 关于MySQL索引的一点小见解

    索引: 优缺点: 1.用的合理可以提高查询效率 2.建立过多索引会占用物理和数据空间,同时也会降低插入和更新效率 需不需要建立索引: 1.一般表的数据低于2000条就不用建立索引了,超过2000条酌情 ...

  9. JAVA大集合数据分批次进行切割处理

    今天遇到一个大集合里面的数据删除问题, 因为是一个大集合,如果同时传递到数据库,那么就会造成数据库压力 所以分批次的进行批量操作 其实 也可以采用多线程来处理或者多批次加多线程来处理都是可以的 下面的 ...

随机推荐

  1. TransactionSynchronizationManager用法和含义(转)

    原文链接:https://blog.csdn.net/ly199108171231/article/details/92984574 当我们有业务需要在事务提交过后进行某一项或者某一系列的业务操作时候 ...

  2. 前端使用lodop如何获取打印状态

    前面已经说过,如何简单使用lodop了,今天说一下如何获得lodop的打印状态? 在教程里面找了半天,摸索出来了一套. template: <!-- 实验代码 --> <div> ...

  3. MySQL备忘点(上)

    给自己看的,所以以举例子为主了 检索数据 SELECT 检索单列 SELECT name FROM student 检索多列 SELECT no, name FROM student  检索所有列 S ...

  4. UOJ #164 [清华集训2015]V (线段树)

    题目链接 http://uoj.ac/problem/164 题解 神仙线段树题. 首先赋值操作可以等价于减掉正无穷再加上\(x\). 假设某个位置从前到后的操作序列是: \(x_1,x_2,..., ...

  5. Ocelot 网关 和 consul 服务发现

    服务发现 Consul 一.安装和启动 下载 [Consul](https://www.consul.io/downloads.html) 下载完成后,解压,只有一个consul.exe,把目录添加到 ...

  6. Linux上命令行检出、提交和更新操作

    1.创建工作区目录 列:我创建两个工作目录,用来模拟两个开发人员,命令如下:(工作路径可以按照自己需要随意改变) mkdir -p /root/workspace/harry mkdir -p /ro ...

  7. fatal: unable to access 'https://github.com/Homebrew/homebrew-core/'

    LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54 安装curl "https://nodejs.org/dist/latest/node-${VE ...

  8. 缓存-redis+memCache

    缓存-redis+memCache:为方便预览,将思维导图上传至印象笔记,博客园直接上传图片受限于图片大小. https://app.yinxiang.com/shard/s24/nl/2726253 ...

  9. electron之环境安装、启动程序

    1.安装node.js 2.安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 3.安装全局electron n ...

  10. Appium Desktop 元素定位和脚本录制功能

    Appium Desktop除了可以做Server之外还可以进行元素定位和脚本录制功能,点击放大镜按钮,进入页面设置.开始配置Desired Capabilities. 配置Desired Capab ...