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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 苇铭一心 初级黑马   /  2019-4-18 17:29  /  385 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Day05集合(重要,简单)
        1.重在应用(目前阶段)
        2.重在原理(了解)


集合体系
        Collection(单列集合)  
                在jdk1.5 以前是单列集合的顶层父类
                在jdk1.5以后,多出了一个iterable 接口  Iterator iterator =  iterator() 方法
        List(有序)  有序:存进去和取出来的顺序是一致
        Set (无序)  无序:存进去的顺序和取出来的顺序不一致
       
Collection中常见的方法
        1.add() 添加元素
        2.remove(元素)
        3.isEmpty()  判断元素是否为空
        4.clear() 清空集合元素
        5.contains() 判断集合中是否存在某一个元素

List 体系下特有的方法
        1.get(索引)
        2.set(索引,值)
        3.remove(索引)
        4.add(索引,值)
       
集合的遍历
        Collection<Integer> coll = new ArrayList();
        Iterator<Integer> it = coll.iterator();
        while(it.hasNext()){
                list.add();
                Integer num =   it.next();
        }

并发修改异常&&源码       
        1.指的是在使用迭代器迭代过程中,使用集合修了其长度,抛出并发修改异常
        原理:期望值和修改值不一致 --> 每次修改集合长度,modCount 会变,而期望值不变
        在进行next 方法取出元素时,对应期望值和修改值不相等,于是抛出并发修改异常
解决: 使用listIterator
        ArrayList<Integer> coll = new ArrayList();
        ListIterator<Integer> lit = coll.listIterator();
        while(lit.hasNext()){
                lit.add();
                Integer num =   it.next();
        }
增强for
        1.增强for语法
        for(被遍历的数据类型  临时变量名 : 需要被遍历的数组或者集合){
                                .....
        }
        2.增强for 底层实际上,就是一个迭代器
        3.增强for在遍历过程中,不能对元素进行修改
       
       

0 个回复

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