集合框架Map

本文介绍了Java集合框架中的Map接口及其常用实现类HashMap和TreeMap。HashMap提供了快速的键值对存储,允许键重复但值唯一。Map的遍历通常通过entrySet()进行。此外,还提到了集合工具类如`copy`方法用于列表复制,Properties类用于读写配置文件,以及泛型在集合中的应用,用于限制集合元素类型。
						集合框架Map

1.概念:
Map是一个接口,无法构建对象。我们就可以找它的实现类通过实现类去构造对象。
Map里边的实现类是hashmap,和Treemap(一般比较常用)

Hashmap里边有构造方法:可以构造对象
在这里插入图片描述

构造一个对象去调用下方的方法。
这里边的添加方法和list和set里边的方法不一样。这儿添加是put。
可以存放两个值,一个key对应着一个键。
Key的值是唯一的,键的值可以是多样的,如果重复了就会被覆盖(key不会改变的,键的值会改变)
在这里插入图片描述
如果key重复了
在这里插入图片描述

重复了的话返回的就是被覆盖前的值。
在这里插入图片描述
在这里插入图片描述

注意看代码执行的流程: 之所以会这样子,完全是因为代码还没有赋值就重新new 一个,那就相当于没值。
在这里插入图片描述
在这里插入图片描述

取出一个集合里边的所有值。
但是缺点是: 只能够拿到veloue,不能够拿到key,但是map里边又是成对出现的,所以不合适。
2HashMap
遍历方式一:
在这里插入图片描述

For循环不行,没有索引,娶不到值。
遍历方式二:
在这里插入图片描述

Map的对象必须是iterable的实例,失败。
方式三:
在这里插入在这里插入图片描述图片描述

在Map里边通过取到一个entryset的方式来遍历取值。
方式四:
在这里插入图片描述

Key判断重复的一个标准是:和HashCode和Tree一样的。
3 集合工具类
在这里插入图片描述
这个集合是用来操作
在这里插入图片描述
static
void
copy(List<? super T> dest, List<? extends T> src)
将所有元素从一个列表复制到另一个列表。
这个是用来拷贝集合的,第一个先从目标数组拷贝,在拷贝到源里边
4 Properties(读取配置文件)
在这里插入图片描述
继承了Hashtable。
Hashtable实现了Map接口的。
作用:怎么把内存中的数据写到磁盘
怎么把磁盘的数据读出来
第一步:new一个对象。
在这里插入图片描述
getProperty(String key)
用指定的键在此属性列表中搜索属性。
Object setProperty(String key, String value)
调用 Hashtable 的方法 put。
这个方法是放值。
String getProperty(String key)
用指定的键在此属性列表中搜索属性。

这个是取出文件,根据key的值来取。
在这里插入图片描述

这些方法使用来存到系统文件里去得。Io流
5泛型
作用:限制创建集合得类型。
在这里插入图片描述

在这里插入图片描述

不建议写中文。
E :元素
T :类型
V :veloce(值)
K :key键
示例:
在这里插入图片描述

自定义了一个泛型类,限制上方构造对象时使用得数据类型

泛型不支持基本数据类型
不能申明泛型数组得。

回答: Java集合框架中的Map是一种键值对的数据结构,可以存储一组具有唯一键和对应值的元素。使用泛型可以在编译时进行类型检查,确保集合中只能存储指定类型的元素,提高代码的可读性和安全性。 在引用中的示例代码中,List<String>定义了一个只能存储字符串类型元素的列表。在引用中的示例代码中,Collection<String>和Collection<Integer>分别定义了只能存储字符串类型和整数类型元素的集合。使用泛型通配符可以增加集合的灵活性。比如在coll.removeAll(c)方法中,传入的Collection对象的泛型可以是任意类型。另外,泛型还可以应用于Map集合,如引用中的示例代码中,Set<Map.Entry<String,String>>定义了只能存储键值对类型为String的元素的集合。 综上所述,Java集合框架中的Map和泛型可以一起使用,通过泛型可以指定集合中存储的元素类型,增加代码的可读性和类型安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [java基础中的--------Map+泛型](https://blog.youkuaiyun.com/liutaiwu/article/details/107915445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值