List特点:元素有放入顺序,元素可重复
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
Map特点:元素按键值对存储,无放入顺序 (应该知道什么是键值对吧!)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低
Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet
SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现)
Query接口有一个实现类:LinkList
Map接口有三个实现类:HashMap,HashTable,LinkeHashMap
HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null
SortedMap有一个实现类:TreeMap
其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对
set 一般无序不重复.map kv 结构 list 有序
set集合中的对象不按特定的方式排序,不能包含重复的对象,set集合由set接口和set接口的实现类组成,set接口继承了collection接口,包含collection接口中的所有方法
map接口常用的实现类有hashmap和treeMap,建议使用hashmap类实现map集合,因为由hashmap类实现的map集合对于添加和删除映射关系效率更高
HashMap是基于哈希表的map接口的实现,hashmap通过哈希码对其内部的映射关系进行快速查找;而treeMap中的映射关系存在一定的顺序,如果希望map集合中的对象也存在一定的顺序,应该使用treemap类实现map集合
转载于:https://www.cnblogs.com/javazxy/p/6412654.html