ArrayList, LinkedList, HashMap中的几个点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haolvshiqi/article/details/61200291

ArrayList

点在于:
1. ArrayList是一个动态数组。

为啥呢?
1. 别看ArrayList名字里面带有List,其实人家是一个动态数组。为啥是动态数组呢?我们都知道数组在声明的时候就要确定其大小,ArrayList也不例外,它也有一个默认初始长度(当然你也可以自定义长度)但是当我们把ArrayList的初试长度塞满以后,系统就会开辟另一快更大的内存区域,然后把之前的数据copy进去,然后再把新增的数据添加到新的数据区域里。
由于是数组,简直自带光环地让ArrayList查找数据比较快。
所以ArrayList适合使用在数据量固定,而且查询比较频繁的场景里。

参考网站:http://blog.csdn.net/jianyuerensheng/article/details/51192811

LinkedList

  1. LinkedList是一个双向循环链表。

LinkedList由于是链表,所以自带光环地让数据的添加和删除变得比较快。

参考网站:http://blog.csdn.net/jianyuerensheng/article/details/51204598

HashMap

1.HashMap是一个集数组和链表于一体的结构,结合这两者的优点,这篇博客对于HashMap的说明还挺透彻的:http://www.cnblogs.com/chenssy/p/3521565.html

猜你喜欢

转载自blog.csdn.net/haolvshiqi/article/details/61200291
今日推荐