• Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)


    一、学习ArrayList与Map时,关于常用遍历方法的记录如下:

      

      

      

     二、附源码如下:

    package com.study.in.myself;

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

    public class Study16 {

    public static void main (String [] args){

    //遍历ArrayList的几种方法
    //创建一个ArrayList对象,并造型为String类型
    List<String> list = new ArrayList<String>();
    list.add("Hello");
    list.add("world");
    list.add("学习迭代器");

    //第一种遍历方法 for循环
    for(int i =0 ; i<list.size();i++){
    //HashMap map = (HashMap)list.get(i);
    System.out.println(list.get(i));
    }
    //第二种遍历方法 把链表变为数组相关的内容进行遍历
    String[] strArray=new String[list.size()];
    list.toArray(strArray);
    for(int i= 0 ;i < strArray.length;i++){
    System.out.println(strArray[i]);
    }

    //第三种遍历方法 增强for循环

    for(String str : list){
    System.out.println(str);
    }

    //第四种遍历方法 使用迭代器进行遍历

    Iterator<String> ite = list.iterator();
    while(ite.hasNext()){
    System.out.println(ite.next());
    }


    //遍历Map的几种方法

    HashMap<String,String> map = new HashMap<String,String>();
    map.put("1", "学习map用put放值");
    map.put("2", "学习Map的遍历方法");
    map.put("3", "Hello World");

    //第一种遍历方法 通过map.get(key)二次取值 常用
    for(String key :map.keySet()){
    System.out.println("key"+key+" value "+map.get(key));
    }


    //第二种遍历方法 通过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()+" value "+entry.getValue());
    }

    //第三种方法 通过Map.entrySet遍历key和value 推荐 尤其是容量很大的时候
    for(Map.Entry<String, String> entry: map.entrySet()){

    System.out.println("key "+entry.getKey()+" value "+entry.getValue());
    }

    //第四种方法 通过Map.values()遍历所有的value,但不能遍历key 慎用
    for(String v:map.values()){
    System.out.println("value "+v);
    }
    }
    }

  • 相关阅读:
    linux系统日志及其rsyslog服务
    C++
    程序员之---C语言细节18(一些奇怪表达式)
    Spring MVC的简单使用方法
    Android系统开发(4)——Autotools
    大话设计模式C++版——代理模式
    JS获取地址栏并拼接參数
    二叉树的应用(1)--二叉树排序树基本操作
    【LeetCode-面试算法经典-Java实现】【067-Add Binary(二进制加法)】
    Android 实现形态各异的双向側滑菜单 自己定义控件来袭
  • 原文地址:https://www.cnblogs.com/Mr-nie/p/6600912.html
Copyright © 2020-2023  润新知