增强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。