List、set都是集成自Collection接口,Map不是 List特点:元素有放入顺序,元素可重复,set特点元素无存放顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无法放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的,加入Set的Object必须定义equals()方法,另外list支持for循环,也就是通过下班来遍历,也可以使用迭代器,但是set只能用迭代,因为他无序,无法通过下标来取得想要的值
3.set和List的区别
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置的改变
List:和数组类似,list可以动态增长,查询元素效率高,插入删除元素效率低,因为不会引起其他元素位置改变
4.Map适合存储键值对的数据
5.线程安全集合类与非线程安全集合类:
linkedList、ArrayList、HashSet是非线程安全的,Vector是线程安全的; HashMap是非线程安全的,HashTable是线程安全的; StringBuilder是非线程安全的,StringBuffer是线程安全的
6.ArrayList和linkedList的区别
ArrayList是数组队列,相当于动态数组;后者为双向链表结果,也可以当作堆栈、队列、双端队列 当随机访问List时候(get和set操作),ArrayList比linkedList的效率更高,因为linkedList是线性的数据存储方式,所以需要移动指针从前往后依次查找 当增删操作的时候(remove和add)linkedList比ArrayList效率高,因为ArrayList是数组,所以在其中进行增删操作时,会对操作点之后所有数据的下标索引造成影响,进行数据的移动 ArrayList自由性比较低,因为他需要手动的设置固定大小的容量,但是它的使用比较方便,只要创建,然后添加数据,通过调用下表进行使用;而linkedList自由度比价高,能够动态的随着数据量的变化而变化,但是他不便于使用, ArrayList主要空间开销在于需要在list列表预留一定空间;而linkedList的主要空间开销在于需要存储结点信息及节点指针信息
hashMap的数据结构是数组+链表+红黑树
TreeMap的数组结果是红黑树



