首页 > 编程 > Java > 正文

Java----For增强与Iterator遍历器提取数据(附Map.Entry)

2019-11-06 07:54:02
字体:
来源:转载
供稿:网友

增强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只适合取数据,*             并不能通过遍历变量(相当于指针的作用)去改变集合/数组内的元素。* */ @Testpublic 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遍历器* */@Testpublic 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:============================================================

6138-------操作数组-------822422423565734-----操作List集合------value:setvalue:FHdgvalue:rehhg------操作Map--map.values()法-----Key:3535 Value:setKey:1324 Value:FHdgKey:35 Value:rehhg------操作Map--map.keySet()法-----Key:3535 Value:setKey:1324 Value:FHdgKey:35 Value:rehhg------操作Map--Map.Entry法   -----for-----------Key:3535 Value:setKey:1324 Value:FHdgKey:35 Value:rehhgiterator-----------


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表