Map遍歷及獲取值與鍵的兩種方式


/**
 *    /*
         * 練習一:
         * 學生對象(姓名,年齡)都有自己的歸屬地,既然有對應關系。
         * 將學生對象和歸屬地存儲到map集合中。
         * 注意:同姓名同年齡視為重復的鍵。
 
 */
public class Practise1 {
 
    public static void main(String[] args) {
        /*創建Map集合*/
        Map<Student,String> classMap = new HashMap<Student,String>();
        classMap.put(new Student("小明",15), "上海");
        classMap.put(new Student("小李",15), "沈陽");
        classMap.put(new Student("小徐",13), "武漢");
        classMap.put(new Student("小明",15), "上海");        //視為重復的鍵
        classMap.put(new Student("天天",14), "武漢");
        classMap.put(new Student("剛剛",12), "河北");
 
 
        /*遍歷的三種方法*/
        //1.通過遍歷key,獲取value
        Set<Student> allStudents = classMap.keySet(); 
 
        for(Student stu: allStudents){
            /*遍歷獲得到的所有key鍵值*/
            System.out.println(stu);
            /*通過遍歷key,獲得對應的value值的方法*/
            System.out.println(classMap.get(stu));
        }
        System.out.println("/*-----通過迭代key 獲取對應的value--------*/");
        /*利用Iterator迭代*/
        Iterator<Student> it = allStudents.iterator();
        while(it.hasNext()){
            Student key = it.next();
            /*通過迭代key 獲取對應的value*/
            System.out.println(key);
            System.out.println(classMap.get(key));
        }
 
        /*2.遍歷鍵值對*/
        Set<Entry<Student,String>> entrys = classMap.entrySet();
 
        /*entrys獲取到了classMap中所有的鍵值對*/
        for(Entry<Student,String> ent : entrys){
            System.out.println("鍵的獲取: "+ent.getKey());
            System.out.println("值的獲取: "+ent.getValue());
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM