Map,HashMap五种遍历方法
假设有数组
HashMap<Integer, String> h=new HashMap<Integer,String>();
h.put(111, "111-");
h.put(222, "222-");
在操作之前明确几个方法的调用位置
1.keyset方法Map接口
2.get()方法,来自Map
3.Set<Map.Entry<K,V>> entrySet() 来自Map
4.Set<K> keySet() 来自Map
5.iterator() 来自 Collection
6.getValue()和getKye() 来自 Map内部类entry
//1.使用增强for 和 keySet()方法
//先使用Map接口中的keySet()方法 获取返回值set<k>对象,或者叫数组
Set<Integer> s=h.keySet();
//此时获得key值
//遍历使用增强for
for(Integer i:s)
{
//i为key
//使用Map接口中的get(key) 方法,返回值为对应的value
system.out.println(h.get(i));
}
//2.使用增强for和Iterator,keyset遍历
//先使用Map接口中的keySet()方法 获取返回值set<k>对象,或者叫数组
Set<Integer> s=h.keySet();
//使用Iterator接口中的iterator()方法,返回值为Iterator<E>对象,set继承了Collection
//所以拥有iterator()方法,可以直接使用
Iterator i=s.iterator();
//使用增强for遍历
while(i.hasnext())
{
system.out.println(s.get(i.next()));
}
//3.使用entrySet()和增强for
Set<Map.Entry<Integer, String>> s3=h.entrySet();
for(Map.Entry<Integer, String> m:s3)
{
System.out.println(m.getValue()+m.getKey());
}
//4.使用entrySet()和Iterator
Set<Map.Entry<Integer, String>> s4=h.entrySet();
Iterator<Map.Entry<Integer, String>> i2=s4.iterator();
while(i2.hasNext())
{
Map.Entry<Integer, String> a=i2.next();
System.out.println(a.getValue()+a.getKey());
}
//5.只能遍历到内容的方法
//Collection<String> c2=new ArrayList<String>();
Collection<String> c=h.values();
//ArrayList<String> a=(ArrayList<String>)c;
for(String s:c)
{
System.out.println(s);
}*/
最新文章
- CSS3 border-radius边框圆角
- oracle Entity db.Database.SqlQuery ORA-01843: 无效的月份
- 【BZOJ1497】[NOI2006]最大获利 最小割
- bzoj4381: [POI2015]Odwiedziny
- POJ 1474 Video Surveillance(半平面交)
- Monkey测试的策略和分析
- Java学习笔记之:Java 定时任务
- 课本[Teb]软件设计
- int a[5]={}, &;a+1与(int*)a+1的区别
- View的滑动冲突
- PAT (Advanced Level) 1007. Maximum Subsequence Sum (25)
- python中的subprocess.Popen()使用
- Android Scheme协议与应用全解析
- 字符串压缩 stringZip
- java 的序列化和反序列化的问题
- Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取
- Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
- Online
- [T-ARA][놀아볼래?][要玩吗]
- CTF-练习平台-WEB之 签到题