Java复习|10min|集合Map|HashMap|Hashtable|Properties

本文介绍了Java中Map数据结构,包括其与List和Set的关系,以及HashMap、HashTable和Properties的区别。重点讲解了Map的三种遍历方式:通过KeySet、values和EntrySet。同时提到了Collections工具类的功能。

学习材料声明

所有知识点都来自互联网,进行总结和梳理,侵权必删。
引用来源:韩顺平老师的完整笔记

时间分布

日期内容
2023年9月18日复习至点击跳转
2023年9月19日复习至点击跳转

Map!

内置数据类型

  • Map与Colletion(List and Set)是并列的。用于保存具有映射关系的数据(Key-Value)
  • 在这里插入图片描述
  • pay attention! map.put(key, value) 如果key已经存在,就会修改已有的oldvalue。
    在这里插入图片描述
Map遍历方法

在这里插入图片描述

//第一组: 先取出 所有的 Key , 通过 Key 取出对应的 Value
Set keyset = map.keySet();
//(1) 增强 for
System.out.println("-----第一种方式-------");
for (Object key : keyset) {
System.out.println(key + "-" + map.get(key));
}
//(2) 迭代器
System.out.println("----第二种方式--------");
Iterator iterator = keyset.iterator();
while (iterator.hasNext()) {
Object key = iterator.next();
System.out.println(key + "-" + map.get(key));
}
//第二组: 把所有的 values 取出
Collection values = map.values();
//这里可以使用所有的 Collections 使用的遍历方法
//(1) 增强 for
System.out.println("---取出所有的 value 增强 for----");
for (Object value : values) {
System.out.println(value);
}
//(2) 迭代器
System.out.println("---取出所有的 value 迭代器----");
Iterator iterator2 = values.iterator();
while (iterator2.hasNext()) {
Object value = iterator2.next();
System.out.println(value);
}
//第三组: 通过 EntrySet 来获取 k-v
Set entrySet = map.entrySet();// EntrySet<Map.Entry<K,V>>
//(1) 增强 for
System.out.println("----使用 EntrySet 的 for 增强(第 3 种)----");
for (Object entry : entrySet) {
//将 entry 转成 Map.Entry
Map.Entry m = (Map.Entry) entry;
System.out.println(m.getKey() + "-" + m.getValue());
}
//(2) 迭代器
System.out.println("----使用 EntrySet 的 迭代器(第 4 种)----");
Iterator iterator3 = entrySet.iterator();
while (iterator3.hasNext()) {
Object entry = iterator3.next();
//System.out.println(next.getClass());//HashMap$Node -实现-> Map.Entry (getKey,getValue)
//向下转型 Map.Entry
Map.Entry m = (Map.Entry) entry;
System.out.println(m.getKey() + "-" + m.getValue());
}

----------------------------------------------------------------------------2023年9月18日----------------------------------------------------------

HashMap

1.总结知识点|重点在不实现同步和底层数组+链表+红黑树

在这里插入图片描述

2.HashMap底层机制和源码剖析

在这里插入图片描述在这里插入图片描述

HashTable

总结知识|不允许null的出现|线程安全

在这里插入图片描述

Hashtable和HashMap的对比

在这里插入图片描述

Properties

基本知识|实现自Hashtable|用于IO流的配置

在这里插入图片描述

集合总结

在这里插入图片描述

Collections 工具类

可以进行排序呀,对象是set list和map
在这里插入图片描述

----------------------------------------------------------------------------2023年9月19日----------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值