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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 838814131 中级黑马   /  2015-8-29 22:59  /  330 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

------- android培训、java培训、期待与您交流! ----------

###一.集合的分类
* 1.Collection
      * List: 可重复, 有存储顺序(有索引),存和取有序
        * ArrayList    数组实现, 增删慢, 查找快   
        * LinkedList    链表实现, 增删快, 查找慢
        * Vector        数组实现, 原理和ArrayList相同, 但线程安全
    * Set
        * HashSet
            * LinkedHashSet
        * TreeSet
            
* 2.Map
    * HashMap
        * LinkedHashMap
    * TreeMap
    * Hashtable
   
###二.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 个回复

倒序浏览
泛型有点不好理解,我老是弄乱!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马