增强for循环和可变参数以及静态导入的概述

增强for循环:

增强for循环:
替换Iterator()
//内部实际仍然是Iterator。

for(String s : arraylist)
{
	System.out.println(s);
}

和迭代器的区别:
迭代器除了可以遍历,还可以进行remove()集合中的元素的操作,如果是Listiterator,还可以进行增删改查的操作。
其次对于传统的数组也可以进行遍历。

传统for循环和高级for循环有什么区别?
高级for循环有一个局限性。必须有被遍历的目标。
比如打印hello world-100遍
建议:在遍历数组的时候仍旧用传统for。

//先获取到key
Set<Integer> set = hm.keySet();

//循环遍历
for(Integer num : set)//(Type param : List/Map/Set)
{
	System.out.println(num+":"+hm.get(num));
}

//通过entrySet方式获取。同时明白:set里存入什么类型,则for循环里的类型就是什么类型。
Set<Map.Entry<Integer,String>>  entryset = hm.entrySet();
for(Map.Entry<Integer,String> limap : entryset)
{
	System.out.println(limap.getKey()+":"+limap.getValue());
}
可变参数:

当传入的参数类型相同时,没必要往里传入多个 int a, int b, int c…

一种做法是:
	往里传入一个int数组: method(int[] arr)
可变参数
	其实就是上一种数组的简写形式,
	不用每一次都手动的建立数组对象。
	只要将要操作得对象作为参数传递即可,
	隐式将这些参数封装成了数组。
局限性:
	使用可变参数时,一定要定义在参数列表的最后面。前面可以定义其他类型的参数。
class  ParamDemo
{
	public static void main(String[] args) 
	{
		System.out.println("Hello World!");
		show(1,3,2,4,6,3);//相当于int 1,int 3,
		show();//无参也可以
	}


	public static void show(int... arr)
	{
		//打印参数的个数
		System.out.println(arr.length);
	}
}
静态导入

Static Import
用法: import … 导入的都是类。
import static … 导入的是静态成员。

	public static void main(String[] args) 
	{
		//正常使用是System.out.println("XXX");但是通过上述引入了该类(System),则里面的所有的静态方法都可以直接使用。
		out.println("Hello World!");
		int[] arr={1,5,2,4,3};
		sort(arr);//以前的写法:Arrays.sort();
		out.println(arr);//以前的写法:System.out.println(arr);
	}

**注:**对于toString()由于Object类里也包含该方法,所以!!!跟引入包一样,需要带上自己的包名,如下:packetA.demo();packetB.demo()
可能其他的包里也存在sort方法,但是没有引入的话,就不会出现冲突情况。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值