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