Java集合框架Map接口

Map
Collection接口
-List接口
-Set接口
Map接口
1.存放key-value数据
key:不能重复 底层实现使用set
value:可以重复 底层实现用Collection
2.实现类
①.HashMap:主要实现类
②.LinkedHashMap:使用链表的方式维护添加Map元素的顺序
③.TreeMap
④.Hashtable:线程安全低,不建议使用
子类Properties:通常用来处理属性文件,键和值都是String类型

3.常用方法
Object put(Object key,Object value):添加元素
Object remove(Object key):移除元素 删除一个Key-value
void putAll(Map t)
void clear()
Object get(Object key):获取指定value值,若没有找到对应的key值,则返回null
boolean containsKey(Object key)
boolean containsValue(Object value)
int size()
boolean isEmpty()
boolean equals(Object obj)
Set keySet()
Collection values()
Set entrySet()

@Test
public void testMap1() {
	Map map = new HashMap<>();
	map.put("A", 123);
	map.put("B", 456);
	map.put("C", null);
	map.put("B", 123);
	map.put(new Person("D", 20), 110);
	// 获取元素个数
	System.out.println(map.size());
	System.out.println(map);
	// 移除元素
	map.remove("B");
	System.out.println(map);
	// 更新value值(相当于修改,Set中set方法)
	map.put("C", 119);
	System.out.println(map);
	// 获取元素
	Object object = map.get("A");
	System.out.println(object);
	// 判断是否包含某个Key值
	boolean iscontainsKey = map.containsKey("C");
	System.out.println(iscontainsKey);

}

结果:
4
{A=123, B=123, C=null, Person [name=D, age=20]=110}
{A=123, C=null, Person [name=D, age=20]=110}
{A=123, C=119, Person [name=D, age=20]=110}
123
true

Map的遍历
1.Map中的key是使用Set存放,不可重复
2.Map中的value使用Collection来存放,可以重复
3.一个key-value,是一个Entry,Entry使用Set来存放,也是不可重复
4.在向Map中添加元素时,会调用key所在类的equals()方法,判断两个key是否相同 如果相同,添加的是后面的元素
5.遍历Map集合的常用方法 Set keySet() Collection values() Set entrySet()

@Test
	public void testMap2() {
		// 1.遍历key的集合
		Map map = new HashMap<>();
		map.put("刘备", 48);
		map.put("关羽", 30);
		map.put("张飞", 25);
		map.put(null, null);
		Set set = map.keySet();
		for (Object obj : set) {
			System.out.println(obj);
		}
		// 2.遍历value的集合
		System.out.println("---------------------");
		Collection values = map.values();
		Iterator iterator = values.iterator();
		while (iterator.hasNext()) {
			System.out.println(iterator.next());

		}
		System.out.println("-------------------");
		// 3.遍历key-value对
		// 方式一
		Set set2 = map.keySet();
		for (Object obj : set2) {
			/*Object key = obj;
			Object value = map.get(obj);*/
			System.out.println("key:"+obj+"-value:"+map.get(obj));

		}
          System.out.println("-------------------");
		//方式二
		Set set3 = map.entrySet();
		for (Object object : set3) {
			Map.Entry  entry=(Entry) object;
			Object key=entry.getKey();
			Object value=entry.getValue();
			System.out.println(key+":"+value);
		}
	}

结果:
关羽
null
张飞
刘备
---------------------
30
null
25
48
-------------------
key:关羽-value:30
key:null-value:null
key:张飞-value:25
key:刘备-value:48
-------------------
关羽:30
null:null
张飞:25
刘备:48

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip基于Django+python编写开发的毕业生就业管理系统支持学生教师角色+db数据库(毕业设计新项目).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值