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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© THE_FUTURE 中级黑马   /  2014-9-28 22:41  /  1195 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1:List及其子类(掌握)
        (1)List的特点:
                Collection
                        |--List:元素有序(存入顺序和取出顺序一致),可重复。
                        |--Set:元素无序,唯一。
        (2)List的特有功能:
                A:添加功能
                        add(int index,Object obj)
                B:删除功能
                        remove(int index)
                C:获取功能
                        get(int index)
                D:修改功能
                        set(int index,Object obj)
        (3)案例:
                List存储字符串并遍历。
                List存储自定义对象并遍历。

          
          使用集合存储自定义对象的步骤:
//                1、定义要存储到集合当中的类
//                2、创建     集合<要存储到集合当中的类> 集合引用变量 = new 集合<要存储到集合当中的类>();
//                3、创建要存储到集合当中的类的对象们
//                4、调用集合方法,存储对应的对象
//                5、返回对应集合的迭代器
//                6、使用迭代器判断是否有下个元素
//                7、如果有下个元素则获取下个元素


        (4)ListIterator(理解)


                A:可以逆向遍历,但是要先正向遍历,所以一般不用。
                B:可以解决并发修改异常问题。
                        并发修改异常:在用迭代器遍历集合的时候,通过集合去修改了集合的元素。
                        解决方案:
                                a:通过列表迭代器遍历,通过列表迭代器修改集合。
                                b:通过集合遍历,通过集合修改集合。
        (5)List的三个儿子特点:
                List:
                        |--ArrayList
                                底层数据结构是数组,查询快,增删慢。
                                线程不安全,效率高。
                        |--Vector
                                底层数据结构是数组,查询快,增删慢。
                                线程安全,效率低。所以一般不用。
                        |--LinkedList
                                底层数据结构是链表,查询慢,增删快。
                                线程不安全,效率高。
               
                到底使用谁?
                        是否需要安全:
                                是:Vector(将来其实也不用这个,会有更好的方式,后面提)
                                否:用ArrayList或者LinkedList
                                        如何查询多:ArrayList
                                        如果增删多:LinkedList
                        如果你根本就不知道用谁?用ArrayList。
        (6)List的三个儿子的各自特有功能:(了解)
                A:ArrayList
                B:Vector
                        JDK1.0时候的功能。但是后来被替代。所以不用掌握。
                C:LinkedList
                        由于是链表,所以,操作开头和结尾比较简答。提高了添加,删除,获取开头或者结尾。
        (7)案例:(要掌握的是加入泛型后的代码)
                Collection
                List
                ArrayList
                Vector
                LinkedList
                分别存储字符串和自定义对象并遍历。
        (8)遍历:
                Collection:迭代器。
                        |--List:普通for
                                |--ArrayList
                                |--Vector   返回Enumeration
                                |--LinkedList

2:泛型(了解)
        (1)是一种把明确数据类型的工作推迟到创建对象或者调用方法的时候采取明确的特殊的类型。
        (2)格式:
                <数据类型>

                默认情况下,泛型是Object类型。
        (3)好处:(理解)
                A:优化了程序的设计。
                B:把运行期的问题提前到了编译期。
                D:避免了强制类型转换。
        (4)泛型体现:
                A:泛型类 把泛型定义在类上
                B:泛型接口 把泛型定义在接口上
                C:泛型方法 把泛型定义在方法上
        (5)在哪里用?(掌握)
                最常见的就是在集合中使用。并且是看到带有<>

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1

查看全部评分

2 个回复

倒序浏览
wy363681759 来自手机 中级黑马 2014-9-30 20:25:51
沙发
看的头疼   怎么办LZ
回复 使用道具 举报
wy363681759 发表于 2014-9-30 20:25
看的头疼   怎么办LZ

看视频。。或者基础班!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马