JavaSE_jdk新特性

增强for循环

package uncommitted;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.junit.Test;
// JDK1.5以后的新特性
public class NewMethod_JDK {
	   @Test   
	   public void method4() {
      //新的迭代器 foreach增强,操作Map,Hash会对数字进行Hash排序
      Map<Integer,String> map=new HashMap<Integer,String>();
      map.put(1, "林黛玉");
      map.put(2, "薛宝钗");
      map.put(3, "贾元春");
      map.put(4, "贾探春");
      map.put(5, "史湘云");
      map.put(6, "妙玉");
      map.put(7, "贾迎春");
      map.put(8, "贾惜春");
      map.put(9, "王熙凤");
      map.put(10, "贾巧姐");
      map.put(11, "李纨");
      map.put(12, "秦可卿");
      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);
      }
   }
	   @Test   
   public void method3() {
      //新的迭代器 foreach增强,操作数组
      int[] arr={3,1,4,1,5,9,2,6};
      for (int value : arr) {
         System.out.print(value);
      }
   }
   @Test   
   public void method2() {
      //新的迭代器 foreach增强,操作List集合
            List<String> list=new ArrayList<String>();
            list.add("林黛玉");
            list.add("薛宝钗");
            list.add("贾探春");
            list.add("史湘云");
            list.add("妙玉");
            for (String string : list) {
               System.out.println(string);
            }
   }
@Test
   public void method1() {
      //旧的迭代器
      List<String> list=new ArrayList<String>();
      list.add("林黛玉");
      list.add("薛宝钗");
      list.add("贾探春");
      list.add("史湘云");
      list.add("妙玉");
      Iterator<String> it=list.iterator();
      while (it.hasNext()) {
         System.out.println(it.next());
      }
   }
}

静态导入

package uncommitted;
import java.util.ArrayList;
import java.util.Collections;
import static java.util.Collections.sort;//静态导入,导入类的静态方法(静态变量)!
import java.util.List;

import org.junit.Test;
public class NewMethod_JDK_StaticImport {
	@Test
   public void method1() {
      //  JDK1.5以后的新特性
      List<String> list=new ArrayList<String>();
      list.add("abc");
      list.add("sg");
      list.add("keke");
      list.add("june");
      System.out.println(list);
//      Collections.sort(list);
      sort(list);
      System.out.println(list);
      System.out.println(Collections.max(list));
      System.out.println(Collections.min(list));
      
/*      [abc, sg, keke, june]
       [abc, june, keke, sg]
       sg
       abc
*/
   }
}



可变参数

package uncommitted;

import org.junit.Test;
//  JDK1.5以后的新特性
public class NewMethod_JDK_Paramet {
	@Test
   public void method3() {
      // 新特性!   int newadd(int... arr) ...其实就是数组[]
//      优势就是不用再事先创立一个数组
//      The variable argument type
//      int of the method newadd must be the last parameter      
      int sum=newadd(2,3,7,8,9,11);//直接将元素传进来给新的参数接收
      System.out.println(sum);//40
   }
	//可变参数必须放最后一位,must be the last parameter
   public static int newadd(int... arr) {
      int sum=0;
      for (int i = 0; i < arr.length; i++) {
         sum+=arr[i];
      }
      return sum;
   }
   // 老的,用数组
   @Test
   public void method2() {
      int[]arr={1,3,54,2};
      int sum=addArray(arr);
      System.out.println(sum);//60
   }
   public static int addArray(int[] arr) {
      int sum=0;
      for (int i = 0; i < arr.length; i++) {
         sum+=arr[i];
      }
      return sum;
   }
   public void method1() {
      // 古老的求和方法
      int sum=add(4,6,8);
      System.out.println(sum);//18
   }
   public int add(int i, int j, int k) {
      return i+j+k;
   }
}








你可能感兴趣的:(JavaSE,JDK新特性)