Java 集合框架之 JDK 1.5 新特性

forEach 循环

  1. 多用于元素迭代.
  2. 适用范围:
    - 数组
    - 实现 Iterable 接口的集合类
  3. 格式:
for(类型 变量 : Collection 集合 | 数组)
{

}
  1. 传统 for 和 高级 for 的区别:
    1. 传统 for 可以完成对语句执行很多次, 因为可以控制循环的增量和条件
      高级 for 是一种简化形式, 它必须有被遍历的目标, 该目标要么是数组, 要么是 Collection 单列集合
    2. 对于数组的遍历, 如果仅仅是获取数组中的元素, 可以使用 高级 for;
      如果要对数组的角标进行操作, 建议使用传统 for
// 示例:
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("abc2");
list.add("abc3");

// 高级 for
for(String str : list){
    System.out.println(str);
}

// 遍历 map 集合

Map<Integer, String> map = new HashMap<Integer, String>();

map.put(3,"zhangsan");
map.put(14,"xiaoqiang");
map.put(22,"wangcai");
map.put(11,"abc");

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 void main(String[] args){

    // 求两个数的和
    int sum = add(4, 5);
    System.out.println("sum= "+sum);

    // 求三个数的和
    int sum = add(2,5,7);
    System.out.println("sum="+sum);
}

public static int add(int a, int b){
    return a+b;
}

public static int add(int a, int b, int c){
    return a+b+c;
}

// 升级, 可变参数原理:

public static int add(int[] arr){
    int sum = 0;

    for(int i = 0; i<arr.length; i++){
        sum += arr[i];
    }
    return sum;
}


public static int add(int... arr){ // 可变参数
    int sum = 0;

    for(int i = 0; i < arr.length; i++){
        sum += arr[i];
    }
    return sum;
}

静态导入

原文地址:https://www.cnblogs.com/linkworld/p/7500721.html