集合框架--Map集合的一些基本用法

package cn.itcast.api.a.map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class mapDemo {

	public static void main(String[] args) {
/*存储中英文星期集合
 * 使用map集合
 * 
 * **/
//	先定义泛型
		Map<String , String > map  = new HashMap<String , String>();
		
		System.out.println("---------------添加元素--------------");
		
//		System.out.println(map.put("星期一", "Mon"));
		System.out.println(map.put("星期一", "Monday"));//键相同值覆盖输出Monday  put方法会返回旧值
		map.put("星期二", "Tuesday");
		map.put("星期三", "Wednesday");
		map.put("星期四", "Thursday");
		map.put("星期五", "Friday");
		map.put("星期六", "Saturday");
		map.put("星期日", "Sunday");
		System.out.println(map);

		System.out.println("---------------通过给定的键获取值--------------");
		String value = map.get("星期八");//如果键不存在返回null。通过此判断键是否存在
		String value1 = map.get("星期一");
		System.out.println("value = "+value);
		System.out.println("value1 = "+value1);
		System.out.println("---------------根据键删除元素--------------");
		String s = map.remove("星期一");//获取对应键的值并且将该键值对从map集合中删除
		System.out.println("s = "+ s);
		System.out.println(map);
		System.out.println("---------------获取所有的键:keySet方法获取使用迭代器--------------");
//		既然是所有的键,那么返回值应该是 一个集合而且是一个单列集合
//		因为map集合必须保证键的唯一性所以我们选用set集合
//		从API中我们发现了一个keySet()方法
		Set<String> keySet = map.keySet();
		for (Iterator<String> it = keySet.iterator(); it.hasNext();) {
			String  key= it.next();
			String  value3 = map.get(key);//通过键获取对应的值
			System.out.println(key+"----"+value3); 
		}
		System.out.println("----获取所有的键:使用forreach循环进行遍历-----");
			for(String key : keySet){
				System.out.println(key+"-----"+map.get(key));
			}
		System.out.println("---------------获取所有的键:entrySet方法获取键--------------");
/*将map集合中的映射关系存储到set集合中
 * 映射关系:其实就是指建和值的对应关系
 * 映射关系的类型  Map.Entry
 * 
 * ***/		
	Set<Map.Entry<String , String>> entrySet = map.entrySet();
//	diedaiqi
	Iterator<Entry<String, String>> it = entrySet.iterator();
//遍历set中的映射关系对象
	while(it.hasNext()){
		Map.Entry<String, String> me = it.next();//取到了映射关系对象
//		获取键
		String key = me.getKey();
		
//		获取值
		
		String value4 = me.getValue();
		
		System.out.println(key+"--------"+value4);
	}
	/**总结 : map集合中没有迭代器,取出元素的方式: 将map集合转成单列集合在使用单列集和的迭代器
	 * map集合也不能直接被foreach循环遍历
	 * 
	 * *
	 * */
	System.out.println("---------------获取所有的键:values()方法获取所有值--------------");
//	因为值不需要保证唯一性(所以不能通过值获取键) 所以返回值是collection
//	姓名---归属地  对应关系获取所有的归属地 values();
//	获取所有的英文星期
	Collection<String> values = map.values();
	for (String value5 : values) {
		System.out.println("value5:"+value5);
	}
	
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值