关于LIst集合

前言:

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

正文:

list集合可以分为ArrayLlst和LinkedList。

ArrayList

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

LinkedList

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

总结

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

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

最新文章

  1. easyui表单多重验证,动态设置easyui控件
  2. tornado框架之路二
  3. C语言中随机数的生成
  4. java super 隐式参数
  5. WebApi接收复杂类型参数
  6. UNIX网络编程——客户/服务器程序设计示范(五)
  7. SpringCloud警告(Eureka):EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
  8. spring IOC 分析及实现
  9. LINUX系统配置
  10. Vue 双向数据绑定、事件介绍以及ref获取dom节点
  11. git 命令小总结
  12. 【Revit API】改变填充区域的填充样式
  13. Extjs Window用法详解 2 打印具体应用
  14. 有多少种JVM
  15. AIDL interface XXX should be declared in a file
  16. 《JAVA与模式》之解释器模式 (转载)
  17. 【转载】关于Java String, StringBuilder, StringBuffer, Hashtable, HashMap的面试题
  18. 【每日scrum】第一次冲刺day2
  19. FastReport.Net使用:[16]图片控件使用
  20. Creating a Unity Game for Windows 8

热门文章

  1. Js 提交 form 表单
  2. P4160 [SCOI2009]生日快乐 搜索
  3. MySQL 中索引的长度的限制
  4. CF #589 (Div. 2) D. Complete Tripartite 构造
  5. 题解 洛谷P5018【对称二叉树】(noip2018T4)
  6. Git出现 fatal: Pathspec 'xxx' is in submodule 'xxx' 异常的解决方案
  7. Java连接Memcached进行CRUD
  8. 设顺序表中的数据元素递增有序,试着写一算法,将x插入到顺序表上的适当位置上,以保持该表的有序性。
  9. chrome console控制台引入jquery库
  10. Flume-自定义 Interceptor(拦截器)