Java:集合for高級循環遍歷

加強for循環:java

格式:for(變量數據類型 要遍歷的變量 :元素所在數組(集合)名稱)數組

也即 for(Type element: array或collection)spa

使用foreach遍歷集合:code

   只能獲取集合中的元素,不能對集合進行操做。blog

   而迭代器Iterator除了能夠遍歷,還能夠對集合中的元素遍歷時進行remove操做。element

   若是使用ListIterator還能夠在遍歷過程當中進行增刪改查的動做。rem

//例子1:get

import java.util.*;
class Foreach 
{
    public static<T> void sop(T t)
    {
      System.out.println(t);
    }
    public static void main(String[] args) 
    {
      ArrayList<String> al = new ArrayList<String>();

      al.add("abc");
      al.add("bcd");
      al.add("kef");

      //一、傳統for循環遍歷(按角標獲取)
       for(int i=0;i<al.size();i++)
        {
          sop(al.get(i));
        }
        sop("\n");


      //二、for循環遍歷(迭代器)
      for(Iterator<String> it2 = al.iterator();it2.hasNext();)
        {
          sop(it2.next());
        }
        sop("\n");

/*     //for循環遍歷(vector集合的枚舉)
     for(Enumeration<String> en = al.elements();en.hasMoreElements();)
        {
          sop(en.nextElement());
        }
         sop("\n");
*/
     //三、for循環加強遍歷
      for(String s: al)
        {
          sop(s);
        }
    }
}

 

在Map集合中使用for高級遍歷(foreach)it

//例子2: io

import java.util.*;
class Foreach2 
{
    public static void sop(Object obj)
    {
      System.out.println(obj);
    }
    public static void main(String[] args) 
    {
        Map<String,Integer> hm = new HashMap<String,Integer>();

        hm.put("a",1);
        hm.put("b",2);
        hm.put("c",3);

        Set<String> keyset = hm.keySet();
        Set<Map.Entry<String,Integer>> entryset = hm.entrySet();

        //轉化爲Set集合後,直接用迭代器獲取元素(方法:keySet())
        Iterator<String> it1 = keyset.iterator();
        while(it1.hasNext())
        {
          String str = it1.next();
          Integer in = hm.get(str);
          sop("str:"+str+" "+"in:"+in);
        }
        sop("---------------------");
       
       //轉化爲Set集合後,用for循環高級遍歷獲取元素
       for(String str: keyset)
        {
          sop("str:"+str+"::"+"in:"+hm.get(str));
        }
        sop("---------------------");



       //轉化爲Set集合後,直接用迭代器獲取元素(方法:entrySet())
       Iterator<Map.Entry<String,Integer>> it2 = entryset.iterator();
       while(it2.hasNext())
        {
           Map.Entry<String,Integer> me = it2.next();
           String str = me.getKey();
           Integer in = me.getValue();
          sop("str:"+str+"    "+"in:"+in);
        }
        sop("---------------------");


       //轉化爲Set集合後,用for循環高級遍歷獲取元素
       for(Map.Entry<String,Integer> me: entryset)
        {
          sop("str:"+me.getKey()+"....."+"in:"+me.getValue());
        }
    }
}
相關文章
相關標籤/搜索