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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

回顾
        1、Date
                构造:
                new Date()
                new Date(long time)
               
                方法:
                getTime();
                setTime();
       
        2、Date -- String
                SimpleDateFormat
                Date --> String  格式化  format
               
                String --> Date  解析 parse 注意:自定义的模式一定要和字符串格式匹配
       
        3、Calendar
                获取对象方式 -- getInstance();
                get()
                set()
               
                add(int field, int amount)
               
        4、对象数组
       
        5、综合案例
       

集合
        数组:
                1、长度固定
                2、数据类型一致
                3、可以存储基本和引用数据类型
        集合:
                1、长度可变
                2、可以存储不同数据类型
                3、只能存储引用数据类型
               
        学习集合:
                学顶层 -- 共性内容
                用底层 -- 具体实现
       
        Collection集合
                1、用ArrayList实现类
               
                2、        boolean add(Object obj) -- 是否成功
                        clear(); -- 清空(不建议使用)
                        boolean remove(Object obj) -- 删除是否成功
                        int size() -- 集合里面元素的长度
                        boolean isEmpty() -- 判断集合里是否有元素
                        boolean contains(Object obj) -- 判断元素是否在集合中
       
                3、听完就忘 -- 也要理解
                        boolean addAll(Collection c) -- 添加一个集合的元素
                       
                        boolean containsAll(Collection c) -- 只有包含所有元素才会返回true
                       
                        boolean removeAll(Collection c) -- 返回的是表示调用方法的集合是否发生改变
       
                        boolean retainAll(Collection c) -- 如果A调用方法传递参数B , 那么返回值表示A是否发生改变。
                                                                                                如果改变,A保存交集,B不变
       
       
                不同集合的数据结构是不一样的,迭代器如果定义成一个统一的实现类。
                那么遍历不同集合的时候,会不会出问题?会。
                但是迭代器以接口的形式定义。规则:hasNext(); next();
                又是在具体的某一个集合中以内部类的方式实现。
               
               
        List体系
                List          元素有序,可重复
                Set                元素无序,不可重复
                        顺序 -- 元素存入和取出的顺序
               
                List集合  util包下的。
               
                List集合的功能:
                        添加: add(int index, Object obj) -- 在指定位置添加
                       
                        删除: object remove(int index) -- 返回删除的元素
                       
                        修改:object set(int index, Object obj) -- 返回被替换的元素
                       
                        获取:get(int index); -- 获取指定索引出的元素
                                        有了get(int index)  又有int size(), 想到for循环遍历
                                        for(int x = 0; x < list.size(); x++) {
                                                // 每一个元素
                                                Object o = list.get(x);
                                        }
                                ListIterator<E> listIterator()  迭代器
                               
                                int indexOf(Object o) -- 返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。

       
       
        异常 : ConcurrentModificationException -- 并发修改异常
                面试题:
                        产生环境:通过普通迭代器遍历集合的时候,又通过集合改变了集合的结构。这个时候就报出此异常。
                                                因为迭代器是通过集合获取的,集合改变了,但是迭代器没有。
                        解决方法:
                                1、使用普通for循环,这时候元素添加到集合的末尾。
                                2、使用ListIterator遍历,并且使用该迭代器的add()方法添加元素。这时,元素添加到匹配的那个元素后面
       
        作业1:
       
        创建集合ArrayList,添加hello,world,java三个元素,然后遍历集合,
        判断集合中是否有元素hello,如果有的话就添加一个新元素ios进去。然后再遍历集合。
                遍历:for  和 列表迭代器。

        作业2:
                1.首先定义一个自定义的类
                2.请用集合存储3个该类对象,然后遍历集合。打印出每个属性(两个)。
               
                要求: 用集合的顶层接口来接收。实现类用ArrayList。1种遍历方式,迭代器。
               
                代码要求:格式化良好。加注释。

        作业3:
                ConcurrentModificationException 整理到你的异常。
       
       
       
       
       
       
       
       
       
       
       
       
       
       
               
               

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马