Map

public class MapTest {
    public static void main(String[] args) {
        /*
         * Map是一个键值对的集合,有key和value
         * 通过key拿到value的值
         * Set中的add()默认底层走的是Map的put()
         * 所以key是不允许重复的!
         * 也是先判断对象的hashCode,之后equals比较!
         */
        Map m=new HashMap();
        m.put("1", "嘘");  
        m.put("1", "嘘");
        m.put("1", "嘘");
        m.put(new String("1"), "嘘");
        System.out.println(m.size()); // 1
        System.out.println("*************************");
        
        /*
         * 在集合中不存在基本数据类型
         * 基本数据类型不是类!
         * 只能使用基本数据类型的封装类!
         */
        Map map=new HashMap();  
        News news3=new News(3, "新闻3");
        //向集合中增加数据
        map.put("1", new News(1, "新闻1"));  //这里的  "1" 是String
        map.put(2, new News(2, "新闻2"));   //这里的2  是  Interger
        map.put(3, news3);
        map.put(4, new News(4, "新闻4"));
        System.out.println("集合的大小:"+map.size());   // 4
        //通过map集合中的key取得对应的value
        News  news = (News) map.get("1");
        System.out.println(news);
        //根据key删除指定的对象
        System.out.println("删除的返回值:"+map.remove(4));
        //判断是否存在某个key
        System.out.println("是否有某个key:"+map.containsKey(4));
        //判断是否存在某个value
        System.out.println("是否有某个value:"+map.containsValue(news3));
        //得到所有key的集合
        Set keySet = map.keySet();
        for (Object object : keySet) {
            System.out.println(object);
        }
        //返回所有values的集合
        Collection values = map.values();
        for (Object object : values) {
            System.out.println(object);
        }
    }
}
原文地址:https://www.cnblogs.com/areyouready/p/6834868.html