/*遍历Map集合
Set<K> keySet():得到所有键的集合,存储到Set中,并返回该Set集合,因为Set有迭代器
所有可以通过迭代器,每次迭代出一个键,再根据键获取到对应的值
Set<Map.Entry<K.V> entrySet():得到每个键值对对应的映射关系类型的值,存到Set集合中,
并返回该集合,因为Set有迭代器,每次迭代出来的都是一个映射关系类型的值,
从这个映射关系类型的值中即可得到键,也可以得到值
(就像可以通过结婚证得到男方和女方的信息一样的概念)
Entry:是定义在Map中的一个静态接口,有了集合,就有了集合中的键值对,才会存在映射关系,
所以映射关系是对集合内部事物的描述,所以定义在Map内部
【添加】:
V put(K key,Value)
void putAll(Map<? extends K,? extends V> m)
【删除】:
V remove(Object key)
void clear();
【获取】:
V get(Object key)
Set<K> keySet()
Set<Map.Entry<K,V>> entrySet()
int size() //这个是指这个集合中一共有多少个
Collection<V> values() //得到多少有值
【判断】:
boolean isEmpty() //判断是否为空
boolean contrainsKey(Object key)//是否包含键
boolean contrainsValue(Object value)//是否包含值
*/
package com.Map;
import java.util.*;
public class TestMapBL {
public static void main(String[] args) {
Map<String,String> map=new HashMap<String,String>();
map.put("001", "dondon");
map.put("002", "xixi");
map.put("003", "nannan");
/*
遍历集合演示1:Set<K> keySet():
得到所有键的集合,存储到Set中,并返回该Set集合,因为Set有迭代器
所有可以通过迭代器,每次迭代出一个键,再根据键获取到对应的值
*/
Set<String> keys=map.keySet();//将所有键的集合到到Set
Iterator<String> ite=keys.iterator();//定义每次迭代出来的都是字符串
while(ite.hasNext())
{
String key=ite.next();//获取到迭代器的键
String value=map.get(key);//通过键获取到对应键的值
System.out.println(key+"="+value);
}
/*
输出效果:
001=dondon
002=xixi
003=nannan*/
/*
遍历集合演示2:Set<Map.Entry<K.V> entrySet()
* 原理:将数据存放到Set,再通过Set的迭代器,遍历出来值,entrySet存放的是把值当作一个结婚证来用
* */
Set<Map.Entry<String, String>> entry=map.entrySet();
Iterator<Map.Entry<String, String>> ite2=entry.iterator();
while(ite2.hasNext())
{
Map.Entry<String, String> en=ite2.next();
String key2=en.getKey();
String value2=en.getValue();
System.out.println(key2+"="+value2);
}
/*
输出效果:
001=dondon
002=xixi
003=nannan*/
}
}
相关文章
- Java推荐使用entrySet()来遍历Map集合
- Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式
- Java集合框架-3.【泛型】【Map集合】【keySet】【entrySet】【Map.Entry】
- 集合框架——Map的两种取出方式(keySet和entrySet)
- 转】用Map.Entry 和Map.entrySet()和Map.keySet 遍历哈希表
- Map.Entry和map.entrySet()---更好的遍历Map
- Java使用entrySet方法获取Map集合中的元素
- Java基础知识强化之IO流笔记66:Properties的概述 和 使用(作为Map集合使用)
- Java中stream处理中map与flatMap的比较和使用案例
- Map.keySet 和 Map.entrySet 的效率问题