Java之List和Map的幾種遍歷方式


/**
 * list和map遍歷
 */

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class list_map遍歷{
 public static void main(String[] args) {
     List<String> list=new ArrayList<String>();
     list.add("Hello");
     list.add("World");
     list.add("HAHAHAHA");
     
     //第一種遍歷方法使用foreach遍歷List
     for (String str : list) {            //也可以改寫for(int i=0;i<list.size();i++)這種形式
        System.out.println(str);
     }
 
     //第二種遍歷,把鏈表變為數組相關的內容進行遍歷
     String[] strArray=new String[list.size()];
     list.toArray(strArray);
     for(int i=0;i<strArray.length;i++) //這里也可以改寫為  foreach(String str:strArray)這種形式
     {
        System.out.println(strArray[i]);
     }
     
    //第三種遍歷 使用迭代器進行相關遍歷
     Iterator<String> ite=list.iterator();
     while(ite.hasNext())//判斷下一個元素之后有值
     {
         System.out.println(ite.next());
     }
     
     
     
     Map<String, String> map = new HashMap<String, String>();
     map.put("1", "value1");
     map.put("2", "value2");
     map.put("3", "value3");
     
     //第一種:普遍使用,二次取值
     System.out.println("通過Map.keySet遍歷key和value:");
     for (String key : map.keySet()) {
      System.out.println("key= "+ key + " and value= " + map.get(key));
     }
     
     //第二種
     System.out.println("通過Map.entrySet使用iterator遍歷key和value:");
     Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
     while (it.hasNext()) {
      Map.Entry<String, String> entry = it.next();
      System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
     }
     
     //第三種:推薦,尤其是容量大時
     System.out.println("通過Map.entrySet遍歷key和value");
     for (Map.Entry<String, String> entry : map.entrySet()) {
      System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
     }
   
     //第四種
     System.out.println("通過Map.values()遍歷所有的value,但不能遍歷key");
     for (String v : map.values()) {
      System.out.println("value= " + v);
     }
    }

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM