Map详解

Map集合特点:
         可以存储键值对应的元素
          将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值
Map集合和Collection的区别
          Map存储元素成对出现,Map集合的键是唯一的,值是可重复的
          Collection存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的
注意:
         Map集合的数据结构值针对键有效,跟值无关
功能概述:

1.添加功能
  			V put(K key, V value)  可以相同的key值,但是添加的value值会覆盖前面的,
            返回值是前一个,如果没有就返回null)     相当于修改功能!        
2.删除功能
  			remove()    删除关联对象,指定key对象
 			clear()     清空集合对象
3.判断功能
  			boolean isEmpty()   长度为0返回true否则false,判断集合是否为空
 			boolean containsKey(Object key)  判断集合中是否包含指定的key
 			boolean containsValue(Object value)  判断集合中是否包含指定的value
4.获取功能
 			Set<Map.Entry<K,V>> entrySet()
 			value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返回的是null  
                            根据键获取值
 			Set<K> KeySet()	获取集合中所有键的集合
 			Collection<V> values() 获取集合中所有值的集合
5.长度功能
  			int size()  返回集合中键值对的对数

  获取功能

import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/*
 * 获取功能:
 *		value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返回的是null  根据键获取值
 * 		Set<K> KeySet()	获取集合中所有键的集合
 * 		Collection<V> values() 获取集合中所有值的集合
 */
public class MapDemo2 {
	public static void main(String[] args) {
		// 创建集合对象
		Map<String, String> map = new HashMap<String, String>();

		// 添加元素
		map.put("周杰伦", "昆凌");
		map.put("喜羊羊", "美羊羊");
		map.put("灰太狼", "红太狼");
		map.put("大雄", "静香");

		// 根据键获取值
		System.out.println(map.get("周杰伦"));

		System.out.println("------------------------");

		// Set<K> KeySet() 获取集合中所有键的集合
		// 当然要现有一个集合来存储
		Set<String> set = new HashSet<String>();
		set = map.keySet();

		// 遍历
		for (String s : set) {
			System.out.println(s);
		}

		System.out.println("------------------------");

		// Collection<V> values() 获取集合中所有值的集合
		Collection<String> c = map.values();
		for (String s : c) {
			System.out.println(s);
		}
	}
}

map集合的遍历---方式一

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

/*
 * map集合的遍历---方式一
 * 		map-夫妻对
 * 思路:
 * 		获取所有的键
 * 		遍历键的集合,获取得到每一个键
 * 		根据键找值
 */

public class MapDemo3 {
	public static void main(String[] args) {
		// 创建集合对象
		Map<String, String> map = new HashMap<String, String>();

		// 添加元素
		map.put("周杰伦", "昆凌");
		map.put("喜羊羊", "美羊羊");
		map.put("灰太狼", "红太狼");
		map.put("大雄", "静香");

		// 遍历
		// 获取所有的键
		Set<String> set = map.keySet();
		// 遍历键的集合,获取得到每一个键
		for (String key : set) {
			// 根据键找值
			String value = map.get(key);
			System.out.println(key + "==" + value);
		}
	}
}


 map集合的遍历---方式二


/*
 *map集合的遍历---方式二
 *
 *思路:
 *		获取所有键值对对象的集合
 *		遍历所有键值对对象的集合,得到每一个键值对对象
 *		根据键值对对象获取键和值
 *
 *	Set<Map.Entry<K,V>> entrySet()  返回的是键值对对象的集合
 */

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

public class MapDemo4 {
	public static void main(String[] args) {
		// 创建集合对象
		Map<String, String> map = new HashMap<String, String>();

		// 添加元素
		map.put("周杰伦", "昆凌");
		map.put("喜羊羊", "美羊羊");
		map.put("灰太狼", "红太狼");
		map.put("大雄", "静香");

		// 获取所有键值对对象的集合
		Set<Map.Entry<String, String>> set = map.entrySet();

		// 遍历所有键值对对象的集合,得到每一个键值对对象
		for (Map.Entry<String, String> me : set) {
			// 根据键值对对象获取键和值
			System.out.println(me.getKey() + "==" + me.getValue());
		}
	}
}

HashMap

import java.util.HashMap;
import java.util.Set;

/*
 * HashMap:是基于哈希表的map接口实现
 * 哈希表的作用是保证键的唯一性
 * 
 * HashMap<String,String>
 * 
 * 
 */

public class HashMapDemo {
	public static void main(String[] args) {
		// 创建集合对象
		HashMap<String, String> hm = new HashMap<String, String>();

		// 添加元素
		hm.put("周杰伦", "昆凌");
		hm.put("喜羊羊", "美羊羊");
		hm.put("灰太狼", "红太狼");
		hm.put("大雄", "静香");

		// 遍历
		Set<String> set = hm.keySet();
		for (String key : set) {
			String value = hm.get(key);
			System.out.println(key + "==" + value);
		}
	}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值