Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。
Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出Key和Value。
扩展资料
因为Map这个类没有继承Iterable接口,所以不能直接通过map.iterator来遍历,所以就只能先转化为set类型,用entrySet()方法,其中set中的每一个元素值就是map中的一个键值对,也就是Map.Entry<K,V>了,然后就可以遍历了。
Map.Entry使用方法介绍:
Set keys = map.keySet( );
if(keys != null) {
Iterator iterator = keys.iterator( );
while(iterator.hasNext( )) {
Object key = iterator.next( );
Object value = map.get(key);
}
}
Map如何遍历?
- V put(K key, V value):向Map中添加key-value
- V get(K key): 获取指定key的value,不存在返回null
- V remove(K key): 删除指定key的键值对,返回value
- Set< K > keySet(): 从Map中得到key的集合
- Set<Map.Entry<K, V>> entrySet(): 从Map集合中得到内部接口Entry的集合
//4.map遍历学习
public static void test4()
{
Map<String, String> map = new HashMap<String, String>();
//存入数据
map.put("我的公众号", "放牛娃学编程");
map.put("口号", "分享与热爱");
map.put("爱好", "一起交流学习呀呀");
//1.普遍使用 (效率低下,大量数据时不推荐使用)
for(String key: map.keySet())
{
System.out.println(key+"------> "+map.get(key));
}
//2.Map.entrySet来遍历 (推荐使用这种方法)
for(Map.Entry<String, String> entry: map.entrySet())
{
System.out.println(entry.getKey()+"---------> "+entry.getValue());
}
//3.使用迭代器来遍历
System.out.println("----------通过iterator遍历key和value-----");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while(it.hasNext())
{
Map.Entry<String, String> entry = it.next();
System.out.println(entry.getKey()+"---------> "+entry.getValue());
}
//4.通过map.value (直接遍历value)
for(String value: map.values())
{
System.out.println("value="+value);
}
}