`
Flyaway_921
  • 浏览: 12756 次
  • 来自: 杭州
社区版块
存档分类

Map的遍历

    博客分类:
  • java
阅读更多
//最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!
    public static void work(Map<String, Student> map) {
        Collection<Student> c = map.values();
        Iterator it = c.iterator();
        for (; it.hasNext();) {
            System.out.println(it.next());
        }
    }
  //利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!
    public static void workByKeySet(Map<String, Student> map) {
        Set<String> key = map.keySet();
        for (Iterator it = key.iterator(); it.hasNext();) {
            String s = (String) it.next();
            System.out.println(map.get(s));
        }
    }
  //比较复杂的一种遍历在这里,呵呵~~他很暴力哦,它的灵活性太强了,想得到什么就能得到什么~~
    public static void workByEntry(Map<String, Student> map) {
        Set<Map.Entry<String, Student>> set = map.entrySet();
        for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {
            Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();
            System.out.println(entry.getKey() + "--->" + entry.getValue());
        }
    }
}



import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class Du {

	public static void main(String[] args) {

		Map map = new HashMap();
		visitMapByKey(map);//通过key遍历
		visitMapByEntry(map);//通过entry遍历
	}

	private static void visitMapByEntry(Map map) {
		Iterator ite = map.entrySet().iterator();
		
		while(ite.hasNext()){
			Map.Entry<Object, Object> entry = (Entry<Object, Object>) ite.next();
			Object key = entry.getKey();//map中的key
			Object value = entry.getValue();//上面key对应的value
		}
	}

	private static void visitMapByKey(Map map) {
		Iterator keys = map.keySet().iterator();
		
		while(keys.hasNext()){
			Object key = keys.next();//key
			Object value = map.get(key);//上面key对应的value
		}
	}
}
 
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics