java 获取 Map中所有的 key 和 value 值

2014-11-23 23:35:03 · 作者: · 浏览: 0

1、Student.java

package bo;

public class Student {
	private String id ;
	public Student(String id){
		this.id = id;
	}

	@Override
	public String toString() {
		return "   学生:" + id ;
	}
	
	
}

2、ClassRoom.java

package bo;

public class ClassRoom {
	private String id;
	public ClassRoom(String id ){
		this.id = id;
	}
	@Override
	public String toString() {
		return "班级:" + id ;
	}
}

3、Test.java

package bo;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class Test {
	public static void main(String[] args) {
		// 一班
		Collection
  
    c1= new ArrayList
   
    (); ClassRoom classroom_1 = new ClassRoom("1班"); Student s1 = new Student("小明"); Student s2 = new Student("小红"); Student s3 = new Student("小光"); c1.add(s1); c1.add(s2); c1.add(s3); // 二班 Collection
    
      c2 = new ArrayList
     
      (); ClassRoom classroom_2 = new ClassRoom("2班"); Student t1 = new Student("小黑"); Student t2 = new Student("小黄"); Student t3 = new Student("小米"); c2.add(t1); c2.add(t2); c2.add(t3); Map
      
       > m = new HashMap
       
        >(); m.put(classroom_1, c1); m.put(classroom_2, c2); // 方法 一 : // 转化成 Set
        
         >>,然后在转化为迭代器 Iterator
         
          >> iterator = m.entrySet().iterator(); while(iterator.hasNext()){ Entry
          
           > entry = iterator.next(); System.out.println(entry.getKey()); // 获取key, 输出 ClassRoom //System.out.println(entry.getValue()); // 获取value ,输出 Collection
           
            > for(Student s : entry.getValue()){ System.out.println(s); } } System.out.println("==="); // 方法 二 : Iterator it = m.keySet().iterator(); // Set类型的key值集合,并转换为迭代器 while(it.hasNext()){ ClassRoom key = (ClassRoom) it.next(); // 获取 key 值,ClassRoom System.out.println(key); for(Student s : m.get(key)){ // 获取value 值,Collection (Student) System.out.println(s); } } /* 输出结果: 班级:1班 学生:小明 学生:小红 学生:小光 班级:2班 学生:小黑 学生:小黄 学生:小米 */ } }