数组是Java很常见的一种数据结构,能够快速地进行存取。但是当遇到下面几种情况:
①我们需要存储的数据集数目是不定的
②我们希望数据集能够自动排序
③我们需要以键值对的方式存储数据
…
数组就不能满足我们的需求了。这时候,我们就需要使用到集合类了。
如下图所示,该图就是Java集合类的关系图谱。其中实现Collection接口的Queue及其子接口、实现类没有列出来。LinkedList是实现了Queue接口的。
集合主要分为两大类:实现Collection接口的和实现Map接口的,如下表所示,列出了最长见的集合类。
各个集合类的特点如下表所示。
衍生问题:
1.ArrayList、LinkedList、Vector的区别?
2.HashMap、Hashtable、ConcurrentHashMap的区别?
3.HashMap、TreeMap、LinedHashMap的区别?
4.ConcurrentHashMap如何实现?