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); } } }