ArrayList和Map 的遍历

  

  1.遍历 ArrayList

import java.util.*;
 
public class Test{
 public static void main(String[] args) {
     List<String> list=new ArrayList<String>();
     list.add("Hello");
     list.add("World");
     list.add("HAHAHAHA");
     //第一种遍历方法使用 For-Each 遍历 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++) //这里也可以改写为  for(String str:strArray) 这种形式
     {
        System.out.println(strArray[i]);
     }
     
    //第三种遍历 使用迭代器进行相关遍历
     
     Iterator<String> ite=list.iterator();
     while(ite.hasNext())//判断下一个元素之后有值
     {
         System.out.println(ite.next());
     }
 }
}

解析:

三种方法都是用来遍历ArrayList集合,第三种方法是采用迭代器的方法,该方法可以不用担心在遍历的过程中会超出集合的长度。

2.遍历 Map

 1 import java.util.*;
 2  
 3 public class Test{
 4      public static void main(String[] args) {
 5       Map<String, String> map = new HashMap<String, String>();
 6       map.put("1", "value1");
 7       map.put("2", "value2");
 8       map.put("3", "value3");
 9       
10       //第一种:普遍使用,二次取值
11       System.out.println("通过Map.keySet遍历key和value:");
12       for (String key : map.keySet()) {
13        System.out.println("key= "+ key + " and value= " + map.get(key));
14       }
15       
16       //第二种
17       System.out.println("通过Map.entrySet使用iterator遍历key和value:");
18       Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
19       while (it.hasNext()) {
20        Map.Entry<String, String> entry = it.next();
21        System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
22       }
23       
24       //第三种:推荐,尤其是容量大时
25       System.out.println("通过Map.entrySet遍历key和value");
26       for (Map.Entry<String, String> entry : map.entrySet()) {
27        System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
28       }
29     
30       //第四种
31       System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
32       for (String v : map.values()) {
33        System.out.println("value= " + v);
34       }
35      }
36 }

map 里    1)  keySet()可以通过它直接获取所有key,在得到value  2)有entrySet()方法可以通过这个方法获得所有entry集合   entry是map的内部类,容量大的时候可以更快遍历所有集合。3)entrySet()方法还有迭代器iterator可以遍历所有entry。4)通过for循环遍历所有map的values集合

原文地址:https://www.cnblogs.com/ScarecrowAnBird/p/12912541.html