import java.util.Map; /** * 學員類 * @author JSKJ */ public class Student { private String name; private double scores; //分數 //空參構造方法 public Student() { super(); } //有參構造方法 public Student(String name, double scores) { super(); this.name = name; this.scores = scores; } //封裝 public String getName() { return name; } public void setName(String name) { this.name = name; } public double getScores() { return scores; } public void setScores(double scores) { this.scores = scores; } }
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /** * 測試學員類 * @author JSKJ * 集合的遍歷Iterator Map泛型的使用 */ public class Test_Student { public static void main(String[] args) { Student stu1 = new Student("小明",29); Student stu2 = new Student("小王",43); Student stu3 = new Student("小李",78); Student stu4 = new Student("小趙",99); Student stu5 = new Student("小孫",63); //注意map的泛型的應用 Map<String,Student> stuMap = new HashMap<String,Student>(); //向集合里放數據 stuMap.put(stu1.getName(), stu1); stuMap.put(stu2.getName(), stu2); stuMap.put(stu3.getName(), stu3); stuMap.put(stu4.getName(), stu4); stuMap.put(stu5.getName(), stu5); //通過迭代器輸出集合中的所有學員的信息 System.out.println("學員的成績是:"); //獲取map中的鍵值集合 Set stuKeys = stuMap.keySet(); Test_Student ts = new Test_Student(); ts.useIterator(stuKeys,stuMap); System.out.println("----------------------------------"); stu1.setScores(100); Set stuKeys1 = stuMap.keySet(); Test_Student ts1 = new Test_Student(); ts.useIterator(stuKeys1,stuMap); } public void useIterator(Set stuKeys,Map stuMap) { Iterator it = stuKeys.iterator(); while(it.hasNext()) { //Collection中的add方法對象一定是Object類型,所以都要強轉 String key = (String)it.next(); Student stu = (Student)stuMap.get(key); System.out.println(key+":"+stu.getScores()); } } }
/** * 狗狗類 * @author JSKJ */ public class Dog { private String name; private String strain; //品種 //構造方法 public Dog() { super(); } public Dog(String name, String strain) { super(); this.name = name; this.strain = strain; } //封裝 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getStrain() { return strain; } public void setStrain(String strain) { this.strain = strain; } }
import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * 測試類 狗狗對象集合 * @author JSKJ * List的泛型使用方法 Iterator遍歷 增強for循環 */ public class Test_Dog { public static void main(String[] args) { Dog dog1 = new Dog("亞亞", "拉布拉多"); Dog dog2 = new Dog("菲菲", "拉布拉多"); Dog dog3 = new Dog("歐歐", "雪納瑞"); Dog dog4 = new Dog("美美", "雪納瑞"); List<Dog> dogList = new ArrayList<Dog>(); dogList.add(dog1); dogList.add(dog2); dogList.add(dog3); dogList.add(dog4); //用迭代器輸出狗狗信息 System.out.println("迭代器遍歷狗狗信息:"); Iterator it = dogList.iterator(); while (it.hasNext()) { Dog dog = (Dog) it.next(); System.out.println(dog.getName()+":"+dog.getStrain()); } //用增強for循環輸出狗狗信息 System.out.println("用增強for輸出狗狗信息:"); for (Dog dog : dogList) { System.out.println(dog.getName()+":"+dog.getStrain()); } } }