静态导入、可变参数、Collections集合工具类、集合嵌套
静态导入和可变参数 在导包的过程中我们可以直接导入静态部分,这样某个类的静态成员就可以直接使用了。在源码中经常会出现静态导入。 import static java.lang.System.out; public class Demo03 { public static void main(String[] args) { //静态导入 out.println(); System.out.println(add(1,2,3,4)); } //可变参数 数组 a public static int add(int...a){ int sum=0; for(int i=0;i<a.length;i++){ sum+=a[i]; } return sum; } }
Collections集合工具类 import java.util.ArrayList; import java.util.Collections; public class Demo04 { public static void main(String[] args) { ArrayList<Integer> arr=new ArrayList<Integer>(); arr.add(5); arr.add(2); arr.add(4); arr.add(6); 对集合升序排序 Collections.sort(arr); for(int i:arr){ System.out.println(i); } 打打乱集合中元素的顺序 每次执行结果都不一样 Collections.shuffle(arr); for(int i:arr){ System.out.println(i); } } }
集合嵌套 Map集合嵌套 import java.util.HashMap; import java.util.Set; import com.oracle.demo37.Person; //集合嵌套 public class Demo01 { public static void main(String[] args) { HashMap<String, HashMap<String,Person>> oracle =new HashMap<String, HashMap<String,Person>>(); HashMap<String,Person> java0601=new HashMap<String,Person>(); java0601.put("1", new Person("帅涛",18)); java0601.put("2", new Person("仙姐",18)); java0601.put("3", new Person("张超",18)); HashMap<String,Person> java0929=new HashMap<String,Person>(); java0929.put("1", new Person("帅涛",18)); java0929.put("2", new Person("张超",18)); java0929.put("3", new Person("仙姐",18)); oracle.put("java0601", java0601); oracle.put("java0929", java0929); //遍历 //keyset+增强for Set<String> classes=oracle.keySet();//获取所有班级名称 for(String clas:classes){ //每个班级名clas //通过每个班级名获取该班的所有人信息HashMap HashMap<String,Person> c=oracle.get(clas); //获取每个学生的学号 Set<String> stunumbers=c.keySet(); for(String num:stunumbers){ //每个学生的学号:num //根据每个学生的学号获取学生对象 Person p=c.get(num); System.out.println("班级为"+clas+"学号为"+num+"的学生信息为"+p); } } } }