Java中ArrayList与HashMap的遍历

来源:互联网 发布:细说php 下载 编辑:程序博客网 时间:2024/05/18 20:11

1.ArrayList遍历

package com.test;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ArrayListDemo {    public static void main(String args[]){      List<String> list = new ArrayList<String>();      list.add("luojiahui");      list.add("luojiafeng");      //方法1      Iterator it1 = list.iterator();      while(it1.hasNext()){          System.out.println(it1.next());      }      //方法2      for(Iterator it2 = list.iterator();it2.hasNext();){          System.out.println(it2.next());      }      //方法3      for(String tmp:list){          System.out.println(tmp);      }      //方法4      for(int i = 0;i < list.size(); i ++){          System.out.println(list.get(i));      }  }}

2.HashMap的遍历

方法1:HashMap staff = new HashMap(); Set entries = staff.entrySet(); Iterator iter = entries.iterator(); while(iter.hasNext()) {       Map.Entry entry = (Map.Entry)iter.next();       Object key = entry.getKey();       Object value = entry.getValue(); }方法2:Map map = new HashMap();for(Iterator iter = map.entrySet().iterator(); iter.hasNext();) {    Map.Entry entry = (Map.Entry) iter.next();    //map.entry 同时取出键值对    Object key = entry.getKey();    Object val = entry.getValue();}方法3:Map map = new HashMap();for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {    Object key = iter.next();    Object val = map.get(key);}


----------------------------------------------------------

HashMap遍历的补充

PS:如果要保持HashMap的遍历顺序和原插入顺序一致,可以使用LinkedHashMap,使用方法和HashMap一样,改一下声明即可:LinkedHashMap myMap = new LinkedHashMap(); 当然需要导入:java.util.LinkedHashMap

import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class MapList {/**  * @param args  */public static void main(String[] args) {  // TODO Auto-generated method stub  HashMap myMap = new HashMap();  myMap.put("hello", "你好");  myMap.put("bye", "再见");  myMap.put("thanks", "谢谢");  myMap.put("ok", "好的");  System.out.println("--------------------遍历key和value----------------------");  for(Iterator iter = myMap.entrySet().iterator();iter.hasNext();){            Map.Entry element = (Map.Entry)iter.next();            Object strKey = element.getKey();            Object strObj = element.getValue();            System.out.println("myMap.get(\""+strKey+"\")="+strObj);  }  System.out.println();  System.out.println("--------------------遍历整个HashMap----------------------");  Collection objs = myMap.entrySet();  for (Iterator iterator=objs.iterator(); iterator.hasNext();){   Object obj = iterator.next();   System.out.println(obj);  }  System.out.println();  System.out.println("--------------------遍历HashMap的key----------------------");  Collection keys = myMap.keySet();  for (Iterator iterator=keys.iterator(); iterator.hasNext();){   Object key = iterator.next();   System.out.println(key);  }  System.out.println();  System.out.println("--------------------遍历HashMap的value----------------------");  Collection values = myMap.values();  for (Iterator iterator=values.iterator(); iterator.hasNext();){   Object value = iterator.next();   System.out.println(value);  }}} 

运行结果:

--------------------遍历key和value----------------------myMap.get("hello")=你好myMap.get("thanks")=谢谢myMap.get("ok")=好的myMap.get("bye")=再见--------------------遍历整个HashMap----------------------hello=你好thanks=谢谢ok=好的bye=再见--------------------遍历HashMap的key----------------------hellothanksokbye--------------------遍历HashMap的value----------------------你好谢谢好的再见

=================================================

本文转自多处,如有侵权请告知,本人将立即删除本文!

原创粉丝点击