java泛型 怎么循环_iterator迭代器,增强型for循环,java泛型

Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来,直到几何中的元素全部被却出来,这种方法叫做迭代,描述在iterator接口里面

iterator接口的常用方法

hasNext()  如果集合里面有下一个元素们就返回 ture

next() 用来取出下一个元素

public static voidmain(String[] args) {

Collection col=new ArrayList();

col.add("abc");

col.add("bcd");//获得迭代器对象

Iterator it=col.iterator();while(it.hasNext()){

System.out.println(it.next());

}

}

c50f8a4ffbdfe9a441a6823bc2915eb7.png

集合元素的向下转型

集合可以存储所有种类的对象,是因为在存放时系统会对存放的对象自动进行转型,也就是提升成了object类的对象,这个时候如果要使用集合中元素的特有内容时,就调取不到了,所以必须要先向下转型才能继续操作,否则会报错

cdc8195f68cb5ccc8453d7fda43f8528.png

Collection col=new ArrayList();

col.add(new Person("熊大",18));

col.add(new Person("熊二",19));//向下转型

ArrayList list=(ArrayList)col;for(int i=0;i

System.out.println(list.get(i));

}

17605ff0d1c4197d00a4a7338c6d37c9.png

增强型for循环

作用:专门用来遍历数组和集合,但是由于内部还是iterator迭代器,所以无法对集合和元素进行增删操作

格式:

for(数据类  自定义变量:集合或数组容器名){

system.out.print(自定义变量

//来一个collection集合

Collection col=new ArrayList();

col.add(new Person("熊大",18));

col.add(new Person("熊二",19));//用增强型for循环遍历

for(Person p:col){

System.out.println(p);

}

e55da9375ba9443f59a90de0b2e301ab.png

java的泛型

定义格式:   修饰符 class 类名{}

ArrayList list = new ArrayList();//<>里面的String就是泛型

使用泛型的好处:

及那个运行时的类转换异常(ClassCastException),转移到了编译时期变成了编译失败,避免类型墙砖的麻烦

public static voidmain(String[] args) {//ArrayList list = new ArrayList();//<>里面的String就是泛型

List list=new ArrayList();

list.add("abc");

list.add("bcd");//list.add(123);//明确类型后,写入的类型不一样接着就报错

Iterator it=list.iterator();while(it.hasNext()){

String str=it.next();

System.out.println(str.length());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值