java集合可以分为Collection和Map两种体系;
Collection接口:单列数据,定义了存取一组对象的方法的集合。
List:元素有序、可重复的集合。
set:元素无序、不可重复的集合。
Map接口:双列数据,保存具体映射关系"key-value"的集合。
Set和List的区别
-
\1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。
-
\2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>。
-
\3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,LinkedList,Vector> 。
treeMap和hashMap区别:
(1)HashMap:适用于在Map中插入、删除和定位元素。
(2)Treemap:适用于按自然顺序或自定义顺序遍历历键。(key)
(3)HashMap通常比TreeMap快一点(数和哈希表的数据结构使然)建议多使用HashMap,在需要排序的Map时候才用TreeMap.
(4)HashMap非线程安全TreeMap非线程安全。
(5)HashMap的结果是没有排序的,而TreeMap输出的结果是排好序的。