黑马程序员------第12天笔记(Map接口)

本文详细介绍了Map集合的概念及其在Java中的应用。包括Map的基本特性、常用方法(如增删改查等)、子类介绍(如HashTable、HashMap、TreeMap)及其实现原理。此外还探讨了Map集合的扩展知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------

Map集合(和Collection同级别)

1,概述

接口Map<K,V>à映射关系

K:(key)此映射所维护键的类型。

V:(value)映射值的类型。

不能有重复的键,一个键只能映射一个值

Collection装的是一个单身汉(单列集合),Map里面装的是一对小夫妻(双列集合)。

2,方法

1, 增

a)       V put(K key,V value)à返回的是该键原先对应的值,后添加的值会覆盖原有的值

b)       putAll(Map)

2, 删   

a)       void clear()

b)       remove(Key)

3, 改

a)        

4, 查   

a)       boolean containsKey();

b)       boolean containsValue();

c)       boolean isEmpty();

d)       get(key)à可以判断一个键是否存在

e)       Collection <V> values()

f)        entrySet()

g)       Set<K>  keySet()将map中所有的键都存入到set集合,再通过迭代方式取出所有的键,再通过get方法取出对应的值

h)       Set<Map.Entry<K,V>>  entrySet() 将map集合的映射关系存入到了set集合中,而这个关系的数据类型就是:Map.Entry

 

map集合的取出原理:将map集合转成set集合,再通过迭代器取出

其实Entry也是一个接口,他是map接口的一个内部接口

 

interface Map

{

       static interface Entry

{

       public  abstract  Obejct getKey()

       public  abstract  Object getValue()

}

}

 

 

3,子类

       Map

 

|--HashTable:此类实现一个哈希表,该哈希表将键映射到相应的值,任何非Null对象都可以用作键或值,底层是哈希表结构。该集合是线程同步的。(过时了)

 

|--HashMap:底层是哈希表数据结构,允许使用null值和null键,该集合是不同步的

 

|--TreeMap:底层是二叉树,线程不同步,可以用于给map集合中的键进行排序,和set很像,set底层就是使用了map集合

 

4,Map集合的扩展知识

         map集合使用是因为具备映射关系

         如何实现1对多的关系?????

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值