电子商务网站设计与开发案例教程,wordpress页面转文章,潍坊米搜网站建设,关于门户网站建设的整改报告集合类的全景图 常用集合类特性
1. Collection#xff1a;每个位置对应一个元素1.1: List 存放有序元素#xff0c;允许重复元素#xff0c;允许元素为null1.1.1: ArrayList#xff1a;内部结构为数组#xff1b;初始容量为10#xff1b;插入、删除的移动速度慢#x…集合类的全景图 常用集合类特性
1. Collection每个位置对应一个元素1.1: List 存放有序元素允许重复元素允许元素为null1.1.1: ArrayList内部结构为数组初始容量为10插入、删除的移动速度慢动态扩容1.5倍线程不安全1.1.2: LinkedList内部结构为双向链表线程不安全 1.1.3: Vector内部结构是数组与ArrayList很像初始容量为10线程安全动态扩容为原来的两倍已废弃替代品为Collections.synchronizedList(ArrayList)使用包装类改进点为不再在每个方法都用synchronized修饰而是细化需要的代码块再使用并且锁定的对象改为包装类内置的一个final Object对象1.2: Set 不允许重复元素1.2.1: HashSet底层实现是HashMap存入keyvalue是固定的对象存放无序根据hash值确定索引位置允许元素为null 1.2.2: LinkedHashSet 底层基于LinkedHashMap其他方面和HashSet相同因为有序所以遍历性能比HashSet高但是插入、删除性能差一些1.2.3: TreeSet是SortedSet接口的唯一实现类不允许重复元素不允许元素为null元素为null排序算法那块会导致空指针自动对元素进行排序 2. Map以key-value键值对存在2.1: HashMap数据结构为桶数组 链表 红黑树JDK 1.8开始有红黑树实现初始容量为16允许key和value为nullkey重复会覆盖存放无序根据hash值来进行散列线程不安全2.1: LinkedHashMap数据结构为双向链表存放有序线程不安全2.1: TreeMapkey不能为nullvalue可以为null存放有序字符串默认为字典排序线程不安全
拓展
红黑树、以及在TreeMap、HashMap中的应用