List、set区别,能不能放null ?
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复
List接口有三个实现类:LinkedList(可以添加null),ArrayList(可以添加null),Vector(可以添加null)
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低 94
Set接口有两个实现类:HashSet(底层由HashMap实现)(可以添加null),LinkedHashSet(可以添加null)
SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现)(不能添加null)
Query接口有一个实现类:LinkList
Map接口有三个实现类:HashMap(可以添加null),HashTable(不能添加null),LinkeHashMap(可以添加null)
HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null
SortedMap有一个实现类:TreeMap(不能添加null)