zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    }

  • 相关阅读:
    数据结构之fhq-treap
    [AtCoder Regular Contest 096 E] Everything on It 解题报告 (第二类斯特林数+容斥原理)
    指纹识别人脸识别 iOS
    HTTP协议的8种请求类型介绍
    获取已安装app的bundle id
    iOS生成Bundle包及使用
    为什么说Objective-C是一门动态的语言?
    引用外部静态库(.a文件)时或打包.a时,Category方法无法调用。崩溃
    代码混淆 iOS
    HDU 1695 GCD(莫比乌斯反演)
  • 原文地址:https://www.cnblogs.com/Mr-nie/p/6600912.html
Copyright © 2011-2022 走看看