list集合的一些小见解
关于LIst集合
前言:
第一次写博客,有些东西可能总结的到位,发表一下自己的一些观点,欢迎大佬们点评和指教
正文:
list集合可以分为ArrayLlst和LinkedList。
ArrayList
ArrayList在集合中常被用作于查询和修改,而不用于新增和删除。这是因为Arraylist的底层是数组,每一次新增或者删除都需要创建一个新数组,该新数组长度为原数组长度大- -或者小一,运行效率很慢,而且假如你要复制100次,那么将会浪费很多内存空间,但是数组在于查询和修改就很方便,数组的好处就是他会有一个下标,可以根据他的下标去很快的找到
LinkedList
LinkedLlist则和ArrayList相反,他被用作于删除和新增,而不用于去查询和修改,因为LinkedL ist的底层是链表,(由于第一 -次写也不知道怎么画图只好将就- -下)大概可以理解成一串手链吧由那种一颗颗的珠子串成,第一颗串进去的就是一个头头,一颗颗的连接在一起,前一个的头指向后一个的尾,但是如果他其中有一颗珠子坏了就可以把绳子断开把坏的扔掉再把线连起来就可以了,这就是删除,新增也一样,把你要新增的珠子放到你要放的地方,把绳子打开放进去。但是如果要查询和修改的话就比较麻烦了,他需要去找到那个,但是你要找到那个就需要找到他的前一个,以此类推,就需要从第一个开始也就是所说的开始找就会很慢,查询也是一样
总结
ArrayList集合增删慢效率低浪费内存但是查改快
LinkedList集合查改慢效率低但是增删快
list集合的一些小见解的更多相关文章
- 关于FPGA的一些小见解
Xilinx FPGA配置bit流文件 Xilinx FPGA的供电是采用USB作为电源,使用Verilog HDL或VHDL实现的逻辑电路通过Xilinx的综合工具生成bit流文件,通过Digile ...
- Java集合,扑克牌的小项目练习
Java集合,扑克牌的小项目练习 2小时学完了类与集合,一直二倍加跳过,集合和类的学习我觉得得多实践中去记住,光靠背,永远也背不完,学的时候记一下常用的,特殊的就行了,用的时候再查,多写代码才能会,哈 ...
- React,关于redux的一点小见解
最近项目做多页面应用使用到了,react + webpack + redux + antd去构建多页面的应用,本地开发用express去模拟服务端程序(个人觉得可以换成dva).所以在这里吐槽一下我自 ...
- 有关Set集合的一个小问题
先看两段代码: Demo1: Set<Short>s=new HashSet<>(); for(Short i=0;i<100;i++){ s.add(i); s.rem ...
- 初学划分树,小见解之!POJ-2104/HDU-2665
划分树 本来是学主席树的,可怜我等巨弱观群巨博客难解fotle主席的思想精髓.于是学了一下划分树,嗯,花了一下午时间理解build(其实自己模拟一遍就通了),我很难理解为什么划分树会看不懂而能学会主席 ...
- WCF--安全小见解...
由于WCF写的服务需要Ajax来进行调用(这个配置过程也是一个比较咕~~(╯﹏╰)b的经历...), 所以调用的过程都是前台可以看到的,不加点安全措施上去,真的像是一个裸奔在互联网上的接口... 反正 ...
- android 内存溢出oom错误的一些小见解
转:http://blog.csdn.net/xuhui_7810/article/details/9493681 我们在代码里调用setBackgroundResource(int resid)来设 ...
- 关于MySQL索引的一点小见解
索引: 优缺点: 1.用的合理可以提高查询效率 2.建立过多索引会占用物理和数据空间,同时也会降低插入和更新效率 需不需要建立索引: 1.一般表的数据低于2000条就不用建立索引了,超过2000条酌情 ...
- JAVA大集合数据分批次进行切割处理
今天遇到一个大集合里面的数据删除问题, 因为是一个大集合,如果同时传递到数据库,那么就会造成数据库压力 所以分批次的进行批量操作 其实 也可以采用多线程来处理或者多批次加多线程来处理都是可以的 下面的 ...
随机推荐
- selenium driver版本和Chrome浏览器版本对应关系
ChromeDriver v2.41 (2018-07-27) ---- Chrome v67-69ChromeDriver v2.40 (2018-06-07) ---- Chrome v66-68 ...
- python自动华 (十七)
Python自动化 [第十七篇]:jQuery介绍 jQuery jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对jav ...
- python修改linux主机ip
修改虚拟机的主机ip 和hostname import os, sys def conf_ip(ip): iplist = [] f = open("/etc/sysconfig/netwo ...
- 快速了解AMD、CMD、CommonJS、ESM
1.ES6 Module javascript在ES2015(ES6)中出现了语言层面的模块(module). ES6的模块既可以用于浏览器端,也可以用于服务器端(nodeJS). ES6模块是静态化 ...
- MySQL index使用率查询
SELECT t.table_schema AS db, t.table_name AS tab_name, s.index_name AS index_name, s.column_ ...
- js 弹层下面的body禁止滚动
弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互.但是,在蒙层元素中滑动的时候,滑到内容的尽头时,再继续滑动,蒙层底部的页面会开始滚动,显然这不是我们想 ...
- 迭代加深 A* IDA* 初探
并没有有用的东西, 只是用来水的. 今天看搜索,想起来了A*和IDA* 看A*去了.... 啥玩意啊这是,他们代码为啥这么长??.... 看完了,...代码怎么写啊?? .....算了,直接看题吧 找 ...
- 【做题记录】Codeforces做题记录
最近决定写一些CF Div.1的题,练习一下速度和代码能力. 暂定从中考后的Codeforces Round #572开始. 大部分比较简单的题直接把题解写在这里,不单独开文章了. Codeforce ...
- MySQL优化:如何避免回表查询?什么是索引覆盖? (转)
数据库表结构: create table user ( id int primary key, name varchar(20), sex varchar(5), index(name) )engin ...
- postgresql could not connect to server
问题: postgresql部署在linux上,在自己电脑上使用pgadmin连接出现could not connect to server错误 问题分析: 出现上述原因有3种情况 1.linux上的 ...