`

java中Map接口

    博客分类:
  • java
阅读更多

Map提供了一种映射关系,其中的元素是以键值对的形式存储的,可以根据 key 来快速查找value值。

Map中的键值对是以Entry类型的对象实例形式存在的。key不可以重复,value值是可以重复的。

Map中常用的方法:

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class TestMap {

    public static void main(String[] args) {
        Map<String,Stu> stuMap = new HashMap<String,Stu>();
        stuMap.put(null, new Stu("1","tom"));
        stuMap.put(null, new Stu("1","tom"));
        System.out.println(stuMap.size());//输出为1,只能有一个为null的key
        stuMap.put("2", new Stu("2", "jack"));
        stuMap.put("3", new Stu("3", "alex"));
        System.out.println("*****获取所有的 '键→值'对象集合*******");
        Set<Entry<String,Stu>> stu = stuMap.entrySet(); 
        for (Entry<String, Stu> entry : stu) {
            System.out.println(entry.getKey() + ":" + entry.getValue().getName());
        }
        System.out.println("*****获取所有的 '键'对象集合*******");
        Set<String> keySet = stuMap.keySet();
        for (String key : keySet) {
            Stu s = stuMap.get(key);//通过key值获得key值对应的值
            if(s != null) {
                System.out.println(key + ":" + s.getName());
            }
        }
        System.out.println("******修改Map中的某个值*******");
        Stu s = stuMap.get("3");//获取某个key对应的对象,修改对象的数值
        s.setName("lucy");
        stuMap.put(null, new Stu("0","0"));//重新增加一个已有key的键值对,这样会把之前的已有的键值对替换掉
        Set<Entry<String,Stu>> stuSet = stuMap.entrySet(); 
        for (Entry<String, Stu> entry : stuSet) {
            System.out.println(entry.getKey() + ":" + entry.getValue().getName());
        }
        
        stuMap.remove("3");//删除某个元素
        Set<Entry<String,Stu>> stuSetR = stuMap.entrySet(); 
        for (Entry<String, Stu> entry : stuSetR) {
            System.out.println(entry.getKey() + ":" + entry.getValue().getName());
        }
    }
}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics