Java SE之For增强与Iterator遍历器提取数据(附Map.Entry)
增强for循环:
1.操作数组
2.操作List集合
3.操作Map集合
1.map.values()法
2.map.keySet()法 【传统方法】
3.Map.Entry法 【新颖方法:增强for+map.entrySet()+Map.Entry】
Iterator遍历器:
操作Map集合:
1.map.keySet()法【传统】
2.Entry法 【新颖 Set+Iterator+Map.Entry】
---------------------------------------------------------------------
import Java.util.List;
import java.security.KeyStore.Entry;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;
import org.junit.Assert;
import org.junit.Test;
public class DemoTest {
/*
* 增强for循环
* 注意:增强for只适合取数据,
* 并不能通过遍历变量(相当于指针的作用)去改变集合/数组内的元素。
* */
@Test
public void testFor(){
//1.操作数组
int arr[]={6,1,3,8};
for(int num:arr)
System.out.println(num);
System.out.println("-------操作数组-------");
//2.操作List集合
List list = new ArrayList();
list.add("82242");
list.add("24235");
list.add("65734");
for( Object obj:list)
System.out.println(obj);
System.out.println("-----操作List集合------");
//3.操作Map集合
//注意:LinkedHashMap 按照正向顺序取出
// HashMap 按照逆向顺序取出
Map map = new LinkedHashMap();
map.put(3535,"set");
map.put(1324,"FHdg");
map.put(35,"rehhg");
// map.values()法 //仅仅只可以取出 值
for(Object obj:map.values())
System.out.println("value:"+obj);
System.out.println("------操作Map--map.values()法-----");
// map.keySet()法 【传统方法】
for(Object obj:map.keySet()){
System.out.println("Key:"+(int)obj+" Value:"+map.get((int)obj));
}
System.out.println("------操作Map--map.keySet()法-----");
//Map.Entry法 【新颖方法:增强for+entrySet()+Map.Entry】
for(Object obj:map.entrySet()){
Map.Entry entry = (Map.Entry) obj;
System.out.println("Key:"+entry.getKey()+" Value:"+entry.getValue());
}
System.out.println("------操作Map--Map.Entry法 -----");
System.out.println("for-----------");
}
/*
* 传统方式: Iterator遍历器
* */
@Test
public void testIterator(){
Map map = new LinkedHashMap();
map.put(3535,"set");
map.put(1324,"FHdg");
map.put(35,"rehhg");
//map.keySet()法【传统】
Set set = map.keySet();
Iterator iterator = set.iterator();
while(iterator.hasNext()){
int key = (int) iterator.next();
System.out.println("Key:"+key+" Value:"+map.get(key));
}
//Entry法 【新颖 Set+Iterator+Map.Entry】
//可以用Map.Entry+iterator遍历器分别地取Map.Entry集合内的Key和Value
while(iterator.hasNext()){
// System.out.print(iterator.next()); //会依次输出一次输出一对键值对 :686=dgd 980=uydg 324=tere
Map.Entry entry = (Map.Entry) iterator.next();
int key = (int) entry.getKey();
String value = (String) entry.getValue();
System.out.println("Key:"+key+" Value:"+value);
}
System.out.println("iterator-----------");
}
}
OutPut:============================================================
6
1
3
8
-------操作数组-------
82242
24235
65734
-----操作List集合------
value:set
value:FHdg
value:rehhg
------操作Map--map.values()法-----
Key:3535 Value:set
Key:1324 Value:FHdg
Key:35 Value:rehhg
------操作Map--map.keySet()法-----
Key:3535 Value:set
Key:1324 Value:FHdg
Key:35 Value:rehhg
------操作Map--Map.Entry法 -----
for-----------
Key:3535 Value:set
Key:1324 Value:FHdg
Key:35 Value:rehhg
iterator-----------
Java SE之For增强与Iterator遍历器提取数据(附Map.Entry)的更多相关文章
- 疑问:Iterator 遍历器和数据集合各种遍历方法的区别
https://es6.ruanyifeng.com/#docs/iterator Iterator(遍历器)的概念 Iterator 接口主要供for...of消费 Iterator 的遍历过程是: ...
- 8.2.2 使用Java8增强的Iterator遍历集合元素
8.2.2 使用Java 8增强的Iterator遍历集合元素 Iterator接口方法 程序示例 Iterator仅用于遍历集合 Iterator必须依附于Collection对象 修改迭代变量的值 ...
- ES6的 Iterator 遍历器到底是什么?
这节课要讲的是ES6中的Iterator. for...of为啥不遍历Object对象 第十三节我们讲了简单又实用的for...of,我们可以使用它来遍历数组,字符串,Set和Map结构,但是有没有发 ...
- Java SE 8 并发增强
1.原子值 java5开始,提供了一些原子操作的类,如AtomicInteger.AtomicLong等 这些类提供了诸如incrementAndGet这样的原子操作方法. 单数如果想进行复杂操作,则 ...
- Iterator遍历器 调用Symbol.Iterator属性,遍历器对象。
Iterator实现原理 创建一个指针对象,指向当前数据结构的起始位置.也就是说,遍历器对象本质上,就是一个指针对象. 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员. 第二次调 ...
- ES6的Iterator遍历器
JS表示集合的对象主要有Array.Set.Object.Map,在以前,遍历它们需要使用2种不同的方法,而现在,JS提出了Iterator机制,可以给不同的数据结构提供统一的遍历方法,就是for…o ...
- Iterator 遍历器
1.遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). 2.Iterator ...
- ES6学习笔记(十三)Iterator遍历器和for...of循环
1.概念 遍历器(Iterator)就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有 ...
- java8 增强的Iterator遍历集合元素
Iterator接口也是Java集合框架的成员,与Collection和Map两个系列的集合不一样的是Collection和Map系列主要用于充当容器的作用,而Iterator正如其名字一样是主要用于 ...
随机推荐
- BZOJ2863[SHOI2012]魔法树——树链剖分+线段树
题目描述 输入 输出 样例输入 4 0 1 1 2 2 3 4 Add 1 3 1 Query 0 Query 1 Query 2 样例输出 3 3 2 树链剖分模板题,路径修改子树查询,注意节点 ...
- LAMP和LNMP去除index.php访问
使用TP或者Laravel开发的时候,后时候会遇到需要加index.php才能正常访问 LAMP解决方法 1.修改配置 打开配置文件(如:httpd.conf),找到你网站根目录的配置,将AllowO ...
- POI 生成excel(大数据量) SXSSF
使用POI 的SXSSF (Streaming Usermodel API)生成较大的excel,同时开启压缩 import junit.framework.Assert; import org.ap ...
- pip download 只下载不安装命令的使用方法
比如下载 django 1.8.11版本和simplejson 3.14.0版本的包 那么就将所需的包写入 requirement.txt 那么我的requirement.txt内容就是: djan ...
- 如何用ip代替机器名访问sharepoint site
1. iis里绑定ip 2. AAM里加一条ip的记录
- 【ZJOI 2019】麻将(dp of dp)
这是我第一次写$dp \; of \; dp$,大致思路参考了xyx的做法,可能有些地方不太一样,但也许会详细一点. 考虑给你一副牌,如何判断这副牌是否是胡的. 容易发现相同的顺子不会选三个以上,于是 ...
- Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件
原文 http://blog.csdn.net/bboyfeiyu/article/details/39253051 前言 下 拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采 ...
- 【洛谷P3586】LOG
题目大意:维护一个集合,支持单点修改.查询小于 X 的数的个数.查询小于 X 的数的和. 题解:学习到了动态开点线段树.对于一棵未经离散化的权值线段树来说,对于静态开点来说,过大的值域会导致不能承受的 ...
- apigateway-kong(五)集群搭建部署
kong 集群将使得系统通过增加更多机器,从而实现水平扩展,承接更多的请求流量.它们将共享同样的配置且使用同一个数据库.kong 集群中的的所有节点都连接同一个数据库. 你需要在 kong 集群的上一 ...
- 外显子分析报错解决方案bin field of BAM record does not equal value computed based on alignment start and end, and length of sequence to which read is aligned
以下链接给出了解决方案:https://gatkforums.broadinstitute.org/gatk/discussion/4290/sam-bin-field-error-for-the-g ...