黑马程序员技术交流社区

标题: 集合笔记 [打印本页]

作者: dapandao    时间: 2018-8-13 09:01
标题: 集合笔记
集合的体系:
        *Collection单列集合的根接口
            *List接口:有序,有索引,可重复
                *ArrayList类:数组实现
                *LinkedList类:链表实现
                *Vector类:数组实现,线程安全,查 找和增删速度介于ArrayList和LinkedList之间。Vector基本被ArrayList替代。ArrayList也可以通过工具类实现线程安全。
            *Set接口:
                *HashSet类:哈希算法实现
                    **LinkedHashSet类:底层是链表实现,因此是有序的,可以按顺序存入和读取!!
                *TreeSet类:二叉树算法实现,排序。
            --数组实现查找快,可直接通过索引定位。增删慢,需改变后续所有位置。
            --链表实现增删快,只需更改前后链表指向地址。查找慢,必须从前后逐个查找。
        *Map双列集合接口
                *HashMap类:哈希算法实现
                    *LinkedHashMap类:链表+哈希算法实现
                *TreeMap类:二叉树算法实现
                *Hashtable类:哈希算法实现
                --单列集合Set底层是依赖双列集合Map实现的。
                --HashMap和Hashtable的区别
                    1.HashMap线程不安全,效率高;Hashtable线程安全,效率低;
                    2.HashMap可以存储null键和null值;Hashtable不能;





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2