关于LIst集合
前言:
第一次写博客,有些东西可能总结的到位,发表一下自己的一些观点,欢迎大佬们点评和指教
正文:
list集合可以分为ArrayLlst和LinkedList。
ArrayList
ArrayList在集合中常被用作于查询和修改,而不用于新增和删除。这是因为Arraylist的底层是数组,每一次新增或者删除都需要创建一个新数组,该新数组长度为原数组长度大- -或者小一,运行效率很慢,而且假如你要复制100次,那么将会浪费很多内存空间,但是数组在于查询和修改就很方便,数组的好处就是他会有一个下标,可以根据他的下标去很快的找到
LinkedList
LinkedLlist则和ArrayList相反,他被用作于删除和新增,而不用于去查询和修改,因为LinkedL ist的底层是链表,(由于第一 -次写也不知道怎么画图只好将就- -下)大概可以理解成一串手链吧由那种一颗颗的珠子串成,第一颗串进去的就是一个头头,一颗颗的连接在一起,前一个的头指向后一个的尾,但是如果他其中有一颗珠子坏了就可以把绳子断开把坏的扔掉再把线连起来就可以了,这就是删除,新增也一样,把你要新增的珠子放到你要放的地方,把绳子打开放进去。但是如果要查询和修改的话就比较麻烦了,他需要去找到那个,但是你要找到那个就需要找到他的前一个,以此类推,就需要从第一个开始也就是所说的开始找就会很慢,查询也是一样
总结
ArrayList集合增删慢效率低浪费内存但是查改快
LinkedList集合查改慢效率低但是增删快