Java集合框架:Map键值对遍历详解
需积分: 43 198 浏览量
更新于2024-07-13
收藏 4.77MB PPT 举报
"键值遍历二-java集合相关内容"
这篇内容主要探讨了Java集合中的Map接口及其遍历方式,特别是键值对(Entry)的遍历。Map接口存储的是键值对,允许通过键(Key)来获取对应的值(Value)。在给定的示例中,创建了一个HashMap实例,并插入了多个键值对。值得注意的是,当尝试用相同的键插入不同的值时,原有的值会被新值替换,如"key1"的原始"value1"被"value4"替换。
在遍历Map时,通常使用`entrySet()`方法,它返回一个包含Map中所有键值对的Set视图。这个Set中的元素是`Map.Entry`类型的实例,每个`Entry`代表一个键值对。在给定的代码段中,使用增强的for循环(foreach)遍历`entrySet()`,并打印出每个键值对。输出的结果显示了插入后的键值对,按照HashMap的无序性输出,这里是"key3:value2"、"key2:value2"和"key1:value4"。
此外,内容还涉及了Java泛型的一些概念。泛型提供了编译时的类型安全,但它们在运行时会被擦除,也就是说,泛型类型信息不会保存在字节码中。因此,虽然`dogBox`和`animalBox`在编译时具有不同的类型参数,但在运行时它们都被视为`Box`对象,无法区分具体的类型参数。这导致了潜在的问题,例如,尽管编译器阻止了直接的不兼容类型操作,但在运行时可能仍然可以通过类型转换引入错误。
对于容器类(如ArrayList、HashSet等),如果它们实现了`Iterable<T>`接口,那么这些类的对象可以用foreach循环遍历。示例展示了如何添加Student对象到ArrayList,并提供了使用`Comparator`实现自定义排序的例子。在这里,`Collator.getInstance(java.util.Locale.CHINA)`用于获取一个比较器,根据中文拼音对字符串进行排序。
这个资源摘要涵盖了Java集合框架中的Map遍历、泛型的编译期特性以及集合的遍历与排序方法。了解这些内容有助于深入理解和使用Java的集合框架。
2021-05-12 上传
2024-01-22 上传
2023-11-13 上传
点击了解资源详情
点击了解资源详情
2023-07-27 上传
2023-07-12 上传
2023-08-09 上传
2021-09-30 上传
涟雪沧
- 粉丝: 21
- 资源: 2万+
最新资源
- IP V6.0 学习资料(十六)系统学习IPV6的利器
- Wap入门文档(doc文件)
- IP V6.0 学习资料(十四)系统学习IPV6的利器
- 嵌入式linux入门资料
- NEC Aspila Topaz 编程手册
- IP V6.0 学习资料(十三)系统学习IPV6的利器
- IP V6.0 学习资料(十二)系统学习IPV6的利器
- VS2008快捷键大全
- IP V6.0 学习资料(十)系统学习IPV6的利器
- 俄罗斯方块Java程序
- IP V6.0 学习资料(九)系统学习IPV6的利器
- IP V6.0 学习资料(七)系统学习IPV6的利器
- IP V6.0 学习资料(六)系统学习IPV6的利器
- IP V6.0 学习资料(五)系统学习IPV6的利器
- 《工业设计 创意技法》
- IP V6.0 学习资料(三)系统学习IPV6的利器