黑马程序员技术交流社区

标题: 增强for的概述和使用(foreach) [打印本页]

作者: zhiguoguo    时间: 2015-12-24 14:51
标题: 增强for的概述和使用(foreach)
增强for的概述和使用(foreach)
1、增强for的概述和使用(foreach)
                格式:
                for(数组或者Collection集合中元素类型 变量名 :数组或者Collection集合对象){
                        //直接使用变量名即可
                }
                注意:增强for底层是迭代器实现的,不要使用增强for的同时用集合改变结构,会报并发修改异常。
       
        2、ArrayList存储自定义对象并遍历增强for版
       
        3、三种迭代的能否删除
                a.普通for正向遍历,可以删除,但要注意,一旦删除了元素,索引要减1.
                        for(int i = 0; i < list.size();){
                                if("b".equals(s)){
                                        list.remove(i);
                                        continue;
                                }
                                i++;
                        }
               
                b.迭代器遍历,也可删除,但是注意要使用迭代器的删除方法。
               
                c.增强for遍历时,不能删除元素。
               
       
        4、静态导入的概述和使用
                对于静态方法,导入到方法的级别
               
                格式:
                        import static 包名.类名.方法名;
       
        5、可变参数的概述和使用
                适用于参数类型明确但个数不确定的情况。
               
                注意:方法里面有多个参数,那么可变参数必须放到最后。
       
        6、Arrays工具类的asList()方法的使用
       
                数组转换成集合; -- Arrays工具类的功能
                        public static <T> List<T> asList(T... a)
                        转成集合后大小固定,不支持增加或者删除操作。
                       
                        引用数据类型数组 -- 把数组中的元素作为集合中的元素。
                        基本数据类型数组 -- 把数组对象作为一个元素添加到了集合中。
                       
                集合转数组: -- Collection
                        Object[] toArray() -- 把集合转换成Object[]
                       
                        <T> T[] toArray(T[] a) -- 把集合转换成指定数据类型(必须是集合中的元素类型,否则报异常)的数组
                                -- 如果数组长度小于等于集合,那么返回数组的长度是集合的长度
                                -- 如果数组长度大于集合,那么返回的数组长度是指定的长度,前面保存集合中的元素,后面存储的是null。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2