基础回顾之集合框架

1.基本数据类型数组默认值:整数型  byte short int long 默认值为0 ,浮点型 float ,double  默认值 0.0  字符型  char   默认值为 空字符串   boolean 型  默认值为 false

2.引用数据类型数组默认值为null

3.数组与集合的区别

  1> 数组即可以存储基本数据类型,也可以存储引用数据类型,存储基本数据类型时,存的是值,存储引用数据类型时,存的是地址值

      集合只能存储引用数据类型,当集合存储基本数据类型时,基本数据类型会自动装箱变成队像存储到集合中

  2>数组的长度是不可变得

   集合的长度是可变的

  3>如果存储的数据的数量是固定的尽量使用数组,(使用集合存储数据,效率个更高,更加节省内存)

    如果存储的数据的数量是变化的就使用集合这样更加方便

4. collection(单列集合框架)

                                            ArrayList        (数组实现)

                  List(集合接口,存储有序,有索引,可存储重复元素)      LinkedList        (链表实现)

                                            vector              (数组实现)

    collection(单列集合接口)

                            

                                          HashSet     (哈希算法)

                    Set(集合接口,无序,不可存储,重复元素)

                                          TreeSet       (二叉树算法实现)

5.数据类型之,数组实现集合原理

    <> 由数组实现的集合底层初始化大小为 10 ,到超过10个元素时,将创建一个新的集合,新集合的容量为老集合的1.5倍,并将老集合中的元素复制到新集合中,将老集合抛弃,以此类推.

6.数组实现集合,查询快,增删慢原理

    <> 查询快,直接可以通过索引确定元素位置

    <> 增删慢,向指定位置增加元素,该索引位置以后的元素包含该位置元素都要向后复制移动一位,并将增加的元素覆盖掉该索引位置的元素,

         删除指定位置的元素,该索引位置以后的元素都要向前复制一位,并将原来最后索引位置的元素置为null

7.数据类型之,链表实现集合原理

    <> 链表是通过记住前后元素形成一条链子,增加时只需打断链子,新元素记录前后元素即可

9.链表类型,增删快,查询慢原理

    <> 查询慢,连表结构的集合需要从前,或从后,依照 链表的连接顺序查找,直到查到该元素为止

    <> 增删快,,增加时只需打断链子,新元素记录前后元素即可

         删除时,只需删除元素,并重新记录前后元素即可

10.线程安全问题

  vector 线程安全的

  ArrayList 线程不安全

  LinkedList 线程不安全的

原文地址:https://www.cnblogs.com/itniwota/p/7413174.html