Java-JDK5.0特性:ForEach,函数可变参数,静态导入

ForEach循环

foreach语句:
格式:

for(类型  变量   :Collection集合|数组)
	    {
	    				
	    }

传统for和高级for的区别?
传统for可以完成对语句执行很多次,因为可以定义控制循环的增量和条件。

高级for是一种简化形式。
它必须有被遍历的目标。该目标要是数组,要么是Collection单列集合。
对数数组的遍历如果仅仅是获取数组中的元素,可以使用高级for。
如果要对数组的角标进行操作建议使用传统for。

		List<String> list =new ArrayList<String>();
		
		list.add("abc1");
		list.add("abc2");
		list.add("abc3");
		
		for(String s : list){	//简化书写。		
			System.out.println(s);			
		}
		
		
		int[] arr = {3,1,5,7,4};
		
		for(int i : arr){
			System.out.println(i);
		}

可以使用高级for遍历map集合吗?不能直接用,但是可以将map转成单列的set,就可以用了。

Map<Integer,String> map = new HashMap<Integer,String>();
		
		map.put(3,"zhagsan");
		map.put(1,"wangyi");
		map.put(7,"wagnwu");
		map.put(4,"zhagsansan");
		
		
		for(Integer key : map.keySet()){
			String value = map.get(key);
			System.out.println(key+"::"+value);
		}
		
		//另一种方法:
		
		for(Map.Entry<Integer,String> me : map.entrySet()){
			Integer key = me.getKey();
			String value = me.getValue();
			
			System.out.println(key+":"+value);
		}
		

函数可变参数

其实就是一个数组,但是接收的是数组的元素,自动将这些元素封装成数组,简化了调用者的书写。
注意:可变参数类型,必须定义在参数列表的结尾。

public static int newAdd(int a,int...  arr){
		
		int sum = 0;
		for (int i = 0; i < arr.length; i++) {
			sum+=arr[i];
		}
		return sum;
		

	}
	public static void main(String[] args) {


		
		int sum = newAdd(5,1,4,7,3);
		System.out.println("sum="+sum);
		int sum1 = newAdd(5,1,2,7,3,9,8,7,6);
		System.out.println("sum1="+sum1);
		
	}

在这里插入图片描述

静态导入

import java.util.ArrayList;
import java.util.List;
import static java.util.Collections.*;//静态导入,其实导入的是类中的静态成员。
//import static java.util.Collections.max;//另一种写法。

import static java.lang.System.*;

public class StaticImportDemo {


	public static void main(String[] args) {

		List<String> list = new ArrayList<String>();
		
		list.add("abc3");
		list.add("abc7");
		list.add("abc1");
		
		out.println(list);
		
		sort(list);
		
		System.out.println(list);
		
		
		String max = max(list);
		System.out.println("max="+max);
		
	}

}

猜你喜欢

转载自blog.csdn.net/z714405489/article/details/83759035
今日推荐