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