增强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)的更多相关文章

  1. 疑问:Iterator 遍历器和数据集合各种遍历方法的区别

    https://es6.ruanyifeng.com/#docs/iterator Iterator(遍历器)的概念 Iterator 接口主要供for...of消费 Iterator 的遍历过程是: ...

  2. 8.2.2 使用Java8增强的Iterator遍历集合元素

    8.2.2 使用Java 8增强的Iterator遍历集合元素 Iterator接口方法 程序示例 Iterator仅用于遍历集合 Iterator必须依附于Collection对象 修改迭代变量的值 ...

  3. ES6的 Iterator 遍历器到底是什么?

    这节课要讲的是ES6中的Iterator. for...of为啥不遍历Object对象 第十三节我们讲了简单又实用的for...of,我们可以使用它来遍历数组,字符串,Set和Map结构,但是有没有发 ...

  4. Java SE 8 并发增强

    1.原子值 java5开始,提供了一些原子操作的类,如AtomicInteger.AtomicLong等 这些类提供了诸如incrementAndGet这样的原子操作方法. 单数如果想进行复杂操作,则 ...

  5. Iterator遍历器 调用Symbol.Iterator属性,遍历器对象。

    Iterator实现原理 创建一个指针对象,指向当前数据结构的起始位置.也就是说,遍历器对象本质上,就是一个指针对象. 第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员. 第二次调 ...

  6. ES6的Iterator遍历器

    JS表示集合的对象主要有Array.Set.Object.Map,在以前,遍历它们需要使用2种不同的方法,而现在,JS提出了Iterator机制,可以给不同的数据结构提供统一的遍历方法,就是for…o ...

  7. Iterator 遍历器

    1.遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). 2.Iterator ...

  8. ES6学习笔记(十三)Iterator遍历器和for...of循环

    1.概念 遍历器(Iterator)就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有 ...

  9. java8 增强的Iterator遍历集合元素

    Iterator接口也是Java集合框架的成员,与Collection和Map两个系列的集合不一样的是Collection和Map系列主要用于充当容器的作用,而Iterator正如其名字一样是主要用于 ...

随机推荐

  1. Delphi动态添加菜单

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  2. Python中正则表达式的巧妙使用

    字符串的匹配查询 re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果.该函数的参数含义如下: findall(pattern, string, ...

  3. mysql5.7 rpm安装教程

    注意版本和此次更新时间 2017-12-03  版本:mysql-5.7.20-1.el6.x86_64  环境:linux6.x ​官方下载地址: wget https://dev.mysql.co ...

  4. BZOJ3322[Scoi2013]摩托车交易——最大生成树+贪心+倍增

    题目描述 mzry1992 在打完吊针出院之后,买了辆新摩托车,开始了在周边城市的黄金运送生意.在mzry1992 生活的地方,城市之间是用双向高速公路连接的.另外,每条高速公路有一个载重上限,即在不 ...

  5. Borg Maze POJ - 3026 (BFS + 最小生成树)

    题意: 求把S和所有的A连贯起来所用的线的最短长度... 这道题..不看discuss我能wa一辈子... 输入有坑... 然后,,,也没什么了...还有注意 一次bfs是可以求当前点到所有点最短距离 ...

  6. 学习Spring Boot:(二十一)使用 EhCache 实现数据缓存

    前言 当多次查询数据库影响到系统性能的时候,可以考虑使用缓存,来解决数据访问新能的问题. SpringBoot 已经为我们提供了自动配置多个 CacheManager 的实现,只要去实现使用它就可以了 ...

  7. [NOI2012] 骑行川藏 | 求导 二分

    一个能看的题解!预备知识只有高中数学的[导数].不用什么偏导数/拉格朗日乘子法之类的我看不懂的东西( •̀∀•́ )! 如果你不知道什么是导数,可以找本高中数学选修2-2来看一下!看第一章第1.2节就 ...

  8. HGOI 20190217 题解

    /* for me,开训第一天 /beacuse 文化课太差被抓去补文化课了... 看一眼题 : AK局? 但是,Wa on test #10 in problem C 290! (就差那么一咪咪) ...

  9. 洛谷 P2158 [SDOI2008]仪仗队 解题报告

    P2158 [SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线 ...

  10. 【洛谷P3600】 随机数生成器

    https://www.luogu.org/problem/show?pid=3600#sub (题目链接) 题意 一个$n$个数的序列,里面每个数值域为$[1,X]$.给$q$个区间,每个区间的权值 ...