Java集合-12
2023-12-17 19:24:57
Map的接口特点
key重复时会进行替换
package com.edu.map;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
@SuppressWarnings({"all"})
public class Demo01 {
public static void main(String[] args) {
Map map = new HashMap<>();
map.put("no1","韩顺平");
map.put("no2","张无忌");
//1、k-v最后都是 HashMap$Node node = newNode(hash,key,value,null)
//2、k-v为了方便遍历,还会创建 EntrySet集合,该集合存放的元素类型就是Entry,装的是Node<k v>地址指向
// 而一个Entry对象就有key value EntrySet<Entry<K,V>> 也就是Set<Map.Entry<K,V>> entrySet
//3、entrySet中,定义的类型是Map.Entry,但是实际上存放的还是HashMap$Node
// 因为 static class Node<K,v> implements Map.Entry<K,V>
//4、当把HashMap$Node 对象存放到 EntrySet 就方便我们的遍历,Map.Entry提供了两个重要的方
// getkey() 和 getValue()
Set set = map.entrySet();
System.out.println(set.getClass());//HashMap$EntrySet
for(Object obj:set){
System.out.println(obj.getClass());//HashMap$Node 接口实现 向上转型了
//1、向下转型 因为是Object接受的
Map.Entry entry = (Map.Entry)obj;
System.out.println(entry.getKey()+":"+entry.getValue());
}
}
}
?
文章来源:https://blog.csdn.net/weixin_47059164/article/details/135045285
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!