【Map使用】遍历Map集合案例keySet()和 entrySet()
来源:互联网 发布:逆战猎场刷永久必知 编辑:程序博客网 时间:2024/06/05 08:02
/*遍历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*/
}
}
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*/
}
}
0 0
- 【Map使用】遍历Map集合案例keySet()和 entrySet()
- 集合-(Map-keySet)-(Map-entrySet)
- entrySet和keySet遍历Map的区别
- map集合遍历,KeySet()方法与entrySet()方法差别
- map中的keySet和entrySet
- JAVA MAP -keySet 和 entrySet
- 关于Map遍历和Iterator的keySet和entrySet
- 遍历Map的两种方法:keySet()和entrySet()
- java.util.Map遍历(keySet和entrySet方式)
- 遍历Map的两种方法:keySet()和entrySet()
- java基础--关于map的遍历keySet和entrySet
- 遍历Map的两种方法:keySet()和entrySet()
- Map遍历的keySet()和entrySet()性能差异原因
- 遍历Map的两种方法:keySet()和entrySet()
- Map遍历的两种方式keySet()和entrySet()
- Map集合中的两种取出方式keySet和entrySet
- Map的遍历:keySet与entrySet
- Map集合的各种使用方法附带keySet()和entrySet()的使用
- Django part01
- Linux内核中断机制(四):中断处理下
- Programming Exercise 5: Regularized Linear Regression and Bias v.s. Variance Machine Learning
- oracle表中列的类型。number和integer区别
- 742 C. Arpa's loud Owf and Mehrdad's evil plan codeforces
- 【Map使用】遍历Map集合案例keySet()和 entrySet()
- Android热修复技术选型——三大流派解析
- linux不能启动的修复技巧
- 深入实践Spring boot读书笔记之Spring与Spring boot的区别
- C库函数的手册
- 程序员面试
- MySQL入门教程
- python 细节上的一些笔记
- 存储管理——内存管理