读书人

java 地图的遍历

发布时间: 2012-08-24 10:00:20 作者: rapoo

java map的遍历
Java代码:
<PRE class=java name="code">package TEST;



import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

import java.util.Map.Entry;



/**

* @author Administrator

*

*/

public class TraversalMap {

public static void main(String[] args) {

Map<Object, Object> map = buildMap();

// TraversalMap1(map);

// TraversalMap2(map);

TraversalMap3(map);

// TraversalMap4(map);

}

/**

* @return map

*/

public static Map<Object, Object> buildMap(){

Map<Object, Object> map = new HashMap<Object, Object>();

map.put("王力宏", "你不知道的事");

map.put("梁静茹", "可惜不是你 ");

map.put("凤凰传奇", "荷塘月色");

map.put("王菲", "红豆");

map.put("周杰伦", "半兽人");

map.put("邓丽君", "好久不见");

return map;

}


public static void TraversalMap1(Map<Object, Object> map){

Set<Object> set = map.keySet();

Iterator<Object> it = set.iterator();

while(it.hasNext()){

Object o_key = it.next();

System.out.println("map : <key : "+o_key+"--value : "+map.get(o_key)+">");

}

}



/**

* @param map

* 得到map的values

*/

public static void TraversalMap2(Map<Object, Object> map){

Collection<Object> c = map.values();

Iterator<Object> it = c.iterator();

while(it.hasNext()){

Object o_key = it.next();

System.out.println("map : <key : "+"****"+"--value : "+o_key+">");

}

}



/**使用Map.Entry得到这一个map,然后分离出key和values

* @param map

*/

public static void TraversalMap3(Map<Object, Object> map){

Set<Entry<Object,Object>> set = map.entrySet();

Iterator<Entry<Object, Object>> it = set.iterator();

while(it.hasNext()){

Entry<Object, Object> map_entry = it.next();

System.out.println("map : <key : "+map_entry.getKey()+"--value : "+map_entry.getValue()+">");

}

}



/**

* 简单点的

* @param map

*/

public static void TraversalMap4(Map<Object, Object> map){

for(Object o: map.values()){

System.out.println("map : <key : "+getKey(map, o)+"--value : "+o+">");

}

}


/**

* 根据value得到key

* @param Map

* @param Object

*/

public static Object getKey(Map<Object, Object> map,Object value){

Set<Object> set = map.keySet();

Iterator<Object> it = set.iterator();

while(it.hasNext()){

Object temp_o = it.next();

if(map.get(temp_o).equals(value)){

return temp_o;

}

}

return null;

}





}

</PRE>

读书人网 >软件架构设计

热点推荐