• 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集合

  • 相关阅读:
    C#中的委托和事件的使用
    C#中Attribute/特性的使用
    Eclipase + CDT
    设计模式总结
    Nginx源码编译
    Nginx自定义扩展模块
    电池的寿命
    大盗阿福
    河中跳房子
    An Easy Problem
  • 原文地址:https://www.cnblogs.com/ScarecrowAnBird/p/12912541.html
Copyright © 2020-2023  润新知