Java集合框架之_HashMap特性

Map集合
HashMap:
1.key是用Set来存放的,不可重复;value是用Collection存放的,可以重复
   一个key-value对是一个Entry,所有的Entry是用Set来存放的,也是不可重复的
 2.向HashMap里面添加元素时,会调用key所在类的equals()方法,如果key相同,则后者覆盖前者存储在内存中

 以下是Map集合常用的方法:
 1.put(Object key, Object value) 将相互关联的一个key和value放入该集合,如果此map接口已经包含了key对应的value,则旧值将被代替
 2.remove(Object key) 从当前集合中移除与指定key相关的映射,并返回该key关联的旧value。如果key没有任何关联,则返回null
 3.int size() 返回集合中元素的数量
 4.void clear() 清空集合中的元素
 5.Object get(Object key) 获取key相关的value,如果该key不关联任何非null值,则返回null
 6.boolean containsKey(Object key) 判断集合中是否存在key
 7.boolean containsValue(Object value) 判断集合中是否存在value
 8.boolean isEmpty() 判断集合中是否包含元素
 9.Set keySet() 获取所有的key的集合
 10.Collection values() 获取所有的value的集合
 11.Set entrySet() 遍历Map集合专用方法

 注意:上面标红的方法是遍历Map集合的主要方法,使用最多的是keySet()和values()这两种方法,但是推荐使用entrySet()方法

	@Test
	public void testMap() {
		Map map = new HashMap();
		map.put("刘德华", 525);
		map.put("范冰冰", 777);
		map.put(666, 525);
//		map.put(null, null);//Map集合可以存放null元素,但是遍历的时候会报空指针异常
		map.put(new Person("hehe", 18), 123);
		
		//方式一:得到所有的key或者所有的values
		for (Object key : map.keySet()) {
			System.out.println(key.toString());
		}
		for (Object value : map.values()) {
			System.out.println(value.toString());
		}
		
		//方式二:使用迭代器遍历所有的键和值
		Iterator it = map.keySet().iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
		Iterator iter = map.values().iterator();
		while (iter.hasNext()) {
			System.out.println(iter.next());
		}
		
		//方式三:使用entrySet()方法来遍历Map集合
		Set entry = map.entrySet();
		for (Object obj : entry) {
			Map.Entry hehe = (Map.Entry)obj;
			System.out.println(hehe.getKey() + "&&" + hehe.getValue());
			//也可以直接打印hehe
			System.out.println(hehe);
		}
		
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值