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=" ...
随机推荐
- python(索引/切片)
一.索引 1.索引值从左到右-->从0开始,索引值从右到左-->从-1开始 取值格式var[index] >>> name = "xinfangshuo&quo ...
- 虚拟 IP 设为静态 IP
一:虚拟机设置桥接模式 1.进入虚拟机设置中将网络适配器设置成桥接模式 2.编辑--虚拟网络编辑器--选择桥接 二:将虚拟IP设置成静态IP (1)方案一:进入虚拟机系统 System 设置 (2)方 ...
- System.Linq.Dynamic字符串转委托
以前一直想着有没有一个方法能够把字符串直接转化成函数的,刚好有需求就找了下,还真有. 微软地址:https://docs.microsoft.com/en-us/previous-versions/b ...
- Codeforces Round #626 D. Present
D. Present 题目大意:给你一个大小是n的序列,求两两之间相加进行异或之后的答案. 这个题目我并没有想到怎么写,有点偷懒于是就去看了题解.. 题解很套路... 题解: 因为这个是用到了异或,所 ...
- jQuery的事件绑定与触发 - 学习笔记
jQuery的事件绑定与触发 事件绑定 自动触发事件 常用的鼠标事件 事件冒泡和默认行为 事件冒泡 默认行为 获得当前鼠标的位置和按键 jQuery的事件绑定与触发 事件绑定 基本绑定 $(eleme ...
- Code::Blocks20.03 编译报错
Code::Blocks最近出了新版20.03,进入官网选择下载了附带MinGW版的安装包后,编译HelloWorld就报错(CB一直以来都有问题,新版还是这样...) 主要有两个问题: ld.exe ...
- leetcode必刷200题
一.数据结构相关 链表 1. 相交链表 2. 反转链表 3. 合并两个有序链表 4. 删除排序链表中的重复元素 5. 删除链表的倒数第 n 个节点 6. 两两交换链表中的节点 7. 两数相加 II 8 ...
- neo4j在docker容器环境中无法启动的问题
回去过了个周末,neo4j就无法启动了 数据还没备份出来,着急啊.上周回去前刚刚在研究怎么把数据导出来,尝试了一些容器导出的方法,没有成功.周一回来就无法启动了... 表现为启动后过几十秒又变为sto ...
- java1.8新特性之stream
什么是Stream? Stream字面意思是流,在java中是指一个来自数据源的元素队列并支持聚合操作,存在于java.util包中,又或者说是能应用在一组元素上一次执行的操作序列.(stream是一 ...
- 手把手教你学Numpy,从此处理数据不再慌「一」
当当当,我又开新坑了,这次的专题是Python机器学习中一个非常重要的工具包,也就是大名鼎鼎的numpy. 所以今天的文章是Numpy专题的第一篇. 俗话说得好,机器学习要想玩的溜,你可以不会写Pyt ...