zoukankan      html  css  js  c++  java
  • 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-----------

  • 相关阅读:
    windows I/O系统
    MYSQL复习笔记7-索引
    LOG收集系统(一):原日志至收集
    MYSQL复习笔记6-字符集
    MYSQL复习笔记5-select-from-where子句
    MYSQL复习笔记4-基本SQL语句
    MYSQL复习笔记3-用户和安全
    MYSQL复习笔记2-自带工具介绍
    MYSQL复习笔记1-物理文件和系统架构
    Mysql复习
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/7155039.html
Copyright © 2011-2022 走看看