A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

一.集合的分类
        1.Collection
                  List: 可重复, 有存储顺序(有索引),存和取有序
                        ArrayList        数组实现, 增删慢, 查找快       
                        LinkedList        链表实现, 增删快, 查找慢
                        Vector                数组实现, 原理和ArrayList相同, 但线程安全
                Set
                        HashSet
                        TreeSet
                                LinkedHashSet
        2.Map
                HashMap
                TreeMap
                Hashtable
                LinkedHashMap
二.List的三个儿子(掌握)
        (1)List的三个儿子特点:
                List
                        |--ArrayList
                                底层数据结构是数组,查询和修改快,增删慢
                                线程不安全,效率高
                        |--Vector
                                底层数据结构是数组,查询慢(相对应ArrayList),增删慢(相对应LinkedList)
                                线程安全,效率低
                        |--LinkedList
                                底层数据结构是链表,查询和修改慢,增删快
                                线程不安全,效率高
        (2)ArrayList(存储字符串和自定义对象)
        (3)Vector(存储字符串和自定义对象)
                有自己的特殊功能。
                但是不用,被新功能给替代了。
        (4)LinkedList(存储字符串和自定义对象)
                有自己的特殊功能。可以很方便的操作头和尾。
        (5)案例:
                A:ArrayList存储字符串并去除重复值
                B:ArrayList存储自定义对象并去除重复值
                        需求:我们认为同姓名和同年龄的人即为同一个人。
                C:用LinkedList模拟栈数据结构

三.泛型(理解)
        (1)泛型是一种把明确类型放在了创建对象或者调用方法时候才去明确的特殊的类型。
        (2)格式:
                <数据类型>引用数据类型
        (3)好处:
                A:解决了黄色警告线问题
                B:把运行期间的转换异常给提前到了编译期间
                C:优化了程序设计,不需要做强制类型转换了
        (4)泛型的前世今生
                A:泛型类
                B:泛型方法
                C:泛型接口
        (5)泛型的使用:(掌握)
                看API中的类或者接口,其后是否跟有<>,如果有,就是泛型的应用。
                一般在集合中用。


1 个回复

倒序浏览
集合啊,现在都快被论坛里的人给总结烂了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马