常用集合各个区别:
collection接口单列集合,下有两个子接口:
List接口:(有序,可重复)
有三个实现类:
LinkedList:链表增删快,查找慢,基于链表,每一个元素存储本身内存地址的同时还存储下一个元素的地址。
ArrayList: 增删慢,查找快,基于数组;每次增删都要创建新的数组,但数组有索引。
Vector:基于数组,线程安全的,效率低
set接口:(不可重复)
HashSet:存储的元素无序,不可重复,底层是哈希表
LinkedHashSet:存储的元素有序,不可重复,底层是哈希表和链表的结合
TreeSet 有序 可以对set集合中的元素进行排序,默认按照asic码表的自然顺序排序 底层是二叉树,
数据越多越慢,TreeSet是依靠TreeMap来实现的
Map接口:(双列集合)
有三个实现类(HashMap,HashTable,TreeMap)
HashMap:无序 非线程安全,高效,支持 null;
LinkedHashMap:有序 是 HashMap 的一个子类,保存了记录的插入顺序
HashTable:无序 线程安全,低效,不支持 null;
TreeMap: 有序 能够把它保存的记录根据键排序,默认是键值的升序排序
暂时就这么多了,欢迎大家支出错误和补充!