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);
}*/
Map,HashMap五种遍历方法的更多相关文章
- Map的五种遍历方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
- map的三种遍历方法!
map的三种遍历方法! 集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ /* * To change this template, choose Tools | Te ...
- Map的6种遍历方法
声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635 探讨有几种遍历Map的方法其实意义并不大,网上的文章一般讲4种或5种的居多,重要的是知道遍历的内涵,从遍历 ...
- Map获取键值,Map的几种遍历方法
Map 类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个 getKey()方法和一个getValue()方法,Map ...
- Map获取键值,Map的几种遍历方法 (转载)
Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集.接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,Map.E ...
- hashmap两种遍历方法
第一种:使用entryset来进行遍历 Map map=new HashMap(); Iterator iter=map.entrySet().iterator(); while(iter.hasNe ...
- Map 的两种遍历方法详细说明
//方法一 Set<String> set = map.keySet(); for (String s:set) { System.out.println(s+","+ ...
- Map的四种遍历方法
1.取值遍历 for(String key:map.keySet()){ System.out.println("key="+key+"and value=" ...
随机推荐
- Radware:上周五美国大规模DDoS攻击是如何发生的
10月21日上午,Dyn遭受到拒绝服务(DoS)攻击,造成了托管DNS网络的中断.成千上万的网站因此变得不可访问,其中包括Amazon EC2.当天晚些时候,当攻击者发起第二轮针对Dyn DNS系统的 ...
- 虚拟化学习笔记-KVM虚拟化跨机迁移原理
参考:https://zhuanlan.zhihu.com/p/27055555 在线迁移过程划分为三个阶段:准备阶段.迁移阶段和切换阶段.迁移环境为虚拟化底层KVM+Qemu.虚拟化管理Libvir ...
- linux系统单网卡绑定多个IP地址
说明: 单网卡绑定两个IP地址,电信和联通,目的:是为了当电信出故障联通正常使用. 系 统 IP地址 子网掩码 网关 CentOS 6.3_64bit eth0:116.18.176.19 255.2 ...
- 关于RMQ问题的四种解法
什么是RMQ问题: RMQ (Range Minimum/Maximum Query):对于长度为n的数组A,回答若干询问RMQ(A,i,j)(i,j<=n-1),返回数组A中下标在i, ...
- .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入. 如何确保提交代码的质量和提 ...
- 面试官:你说你懂动态代理,那你知道为什么JDK中的代理类都要继承Proxy吗?
之前我已经写过了关于动态代理的两篇文章,本来以为这块应该没啥问题,没想到今天又被难住了- 太难了!!! 之前文章的链接: 动态代理学习(一)自己动手模拟JDK动态代理. 动态代理学习(二)JDK动态代 ...
- Mahout聚类和kafaka相关知识
1.说几种距离测度Mahout: 欧式距离测度:平方欧式距离测度:曼哈顿距离测度:余弦距离测度:加权距离测度 2.K-means算法参数:
- CF#132 C. Logo Turtle DP
C. Logo Turtle 题意 有一个海龟在一个x轴的0点,给出一个由'F','T'组成的字符序列. 海龟要按照这个序列进行行动,如果第i个字符为'F',表示沿当前方向走,'T'表示转身. 现在你 ...
- python语法学习第十天--类与对象相关的BIF、魔法方法
一些相关的BIF: issubclass(class,classInfo)#判断是否为子类,classInfo可以为多个类的元组,其中一个是,返回true,一个类也被认为是自己的子类,object是所 ...
- vscode调试webpack的启动和打包部署过程,nodejs调试
launch.json ``` { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.micr ...