java map02

package com.wq.Map;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class map02 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("no1","king");//k-v
map.put("no2","god");//k-v

//1. k-v 最后是 hashmap$node node = newnode (hash ,key ,value , null)
//2. k-v 为方便遍历 还会创建 Entryset 集合 该集合存放的元素的类型 Entry 而一个
// Entry 对象就有 k-v Entryset<Entry<k,v>> 即源码: transient Set<Map.Entry<K,V>> entrySet;
//3. entryset 中 定义的类型是 map.entry 但是实际上存放的还是 hashmap$node
// 这是因为 static class Node <k,v> implements map.Entry<k,y>
//4. 当把 hashmap$node 对象 存放 entryset 就方便遍历 因为 map.entry 提供重要方法
// k getkey () v getvalue
Set set = map.entrySet();
System.out.println(set.getClass());//class java.util.HashMap$EntrySet
for (Object obj :set) {

//为了从hashmap$node 取出k-v
// 1. 向下转型
Map.Entry entry = (Map.Entry) obj;
System.out.println(entry.getKey()+" + " +entry.getValue());
Set set1 = map.keySet();
System.out.println(set1.getClass());
Collection values = map.values();
System.out.println(values.getClass());
}

}
}



class java.util.HashMap$EntrySet
no2 + god
class java.util.HashMap$KeySet
class java.util.HashMap$Values
no1 + king
class java.util.HashMap$KeySet
class java.util.HashMap$Values

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱哭的博客相当攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值