欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Map的遍历

程序员文章站 2022-04-06 10:14:42
package seday13; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /** * ......
package seday13;


import java.util.collection;
import java.util.hashmap;
import java.util.map;
import java.util.map.entry;
import java.util.set;
/**
 * @author xingsir
 * map的遍历
 * 遍历map有三种方式:
 * 遍历所有的key
 * 遍历所有的key-value对
 * 遍历所有的value(相对不常用)
 */
public class mapdemo2 {

    public static void main(string[] args) {
        map<string, integer> map=new hashmap<>();
        map.put("java",99);
        map.put("c#", 98);
        map.put("c++", 97);
        map.put("python", 96);
        map.put("oracle", 99);

        /*
         * set keyset()将当前map中所有的key以一个set集合形式返回
         */
        set<string> keyset= map.keyset();
        for(string key : keyset) {
            system.out.println("key:"+key);                        
        }
        system.out.println("------------------------------------------------");    
        
        
        /*
         * set<entry> entryset()将当前map中每一组键值对一个entry实例形式存放于set集合后返回
         * 
         * java.util.map.entry
         * entry的每一个实例用于表示map中的一组键值对
         */
        set<entry<string,integer>> entryset 
        = map.entryset();
        for(entry<string,integer> entry :entryset) {
            string key2 = entry.getkey();
            integer value = entry.getvalue();
            system.out.println(key2+":"+value);

        }
        system.out.println("------------------------------------------------");    
        
        /*
         * collection values()
         * 将当前map中所有的value以一个collection集合的形式返回。之所以没有用set集合返回,是因为map中的value是可以重复的。
         */
        collection<integer> values = map.values();
        for(integer value : values) {
            system.out.println("value:"+value);
        }
    }

}