JDK5中的新特性增强for循环

*JDK5很多新的性:增强for,静态导入(导入的方法级别,该方法是静态),可变参数,自动拆装箱
 * 增强for的目的是为了替代迭代器,简化书写方式
 * 引用场景:主要是在集合中使用居多,针对数组也可以使用
 * 格式:
 *         for(数据类型 变量名:集合对象名){
 *             输出变量名;
 *         }

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ForEachDemo {
	public static void main(String[] args) {
		int arr[]= {11,2,3,4,7,89};
		for(int i:arr) {
			System.out.println(i);
		}
//		创建一个List集合对象:添加字符串数据
		List<String>lt=new ArrayList<String>();
		//添加元素
		lt.add("qwe");
		lt.add("java");
		lt.add("javaee");
		Iterator<String>it=lt.listIterator();
		while(it.hasNext()) {
			String s=it.next();
			System.out.println(s+" "+s.length());
		}
		System.out.println("-------------------");
		for (String string : lt) {//就是迭代器,只是为了简化书写方式
			System.out.println(string);
		}
	}
}

需求:使用List集合存储自定义对象(Student)并遍历,加入泛型!
 * 
 * 几种方式:
 *         5种方式
 *     1)toArray() (不用了)
 *  2)Iterator iterator() :Collection迭代器
 *  3)ListIterator listIterator() :列表迭代器
 *  4)普通for循环:size()+get(int index)相结合
 *  5)增强for循环:JDK5 的新特性

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class GenericDemo2 {
	public static void main(String[] args) {
		//创建学生对象
		Student s1=new Student("颤三",20);
		Student s2=new Student("李四",30);
		//创建List集合对象
		List <Student> lt=new ArrayList<Student>();
		//添加元素
		lt.add(s1);
		lt.add(s2);
		//方式 1 toArray()
		Object ob[]=lt.toArray();
		for(int x=0;x<ob.length;x++) {
			Student s=(Student)ob[x];
			System.out.println(s.getName()+"--"+s.getAge());
		}
		System.out.println("---------------------------------");
		//方式二
		//获取Collection迭代器
		Iterator<Student>it=lt.iterator();
		while(it.hasNext()) {
			Student a=it.next();
			System.out.println(a.getName()+"--"+a.getAge());
		}
		System.out.println("---------------------------------");
		//方式三
		//获取列表迭代器
		ListIterator <Student>list=lt.listIterator();
		while(list.hasNext()) {
			Student a2=list.next();
			System.out.println(a2.getName()+"--"+a2.getAge());
		}
		System.out.println("---------------------------------");
		//方式4 普通for循环
		for(int x=0;x<lt.size();x++) {
			Student a3=lt.get(x);
			System.out.println(a3.getName()+"--"+a3.getAge());
		}
		//JDK5很多新的性:增强for,静态导入(导入的方法级别,该方法是静态),可变参数,自动拆装箱
		for (Student s10 :lt ) {
			System.out.println(s10.getName()+" "+s10.getAge());
		}
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值