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