ArrayList
点在于:
1. ArrayList是一个动态数组。
为啥呢?
1. 别看ArrayList名字里面带有List,其实人家是一个动态数组。为啥是动态数组呢?我们都知道数组在声明的时候就要确定其大小,ArrayList也不例外,它也有一个默认初始长度(当然你也可以自定义长度)但是当我们把ArrayList的初试长度塞满以后,系统就会开辟另一快更大的内存区域,然后把之前的数据copy进去,然后再把新增的数据添加到新的数据区域里。
由于是数组,简直自带光环地让ArrayList查找数据比较快。
所以ArrayList适合使用在数据量固定,而且查询比较频繁的场景里。
参考网站:http://blog.csdn.net/jianyuerensheng/article/details/51192811
LinkedList
- LinkedList是一个双向循环链表。
LinkedList由于是链表,所以自带光环地让数据的添加和删除变得比较快。
参考网站:http://blog.csdn.net/jianyuerensheng/article/details/51204598
HashMap
1.HashMap是一个集数组和链表于一体的结构,结合这两者的优点,这篇博客对于HashMap的说明还挺透彻的:http://www.cnblogs.com/chenssy/p/3521565.html