JavaSE_jdk新特性

来源:互联网 发布:为什么java比php工资高 编辑:程序博客网 时间:2024/06/16 18:42

增强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;   }}








0 0
原创粉丝点击