zoukankan      html  css  js  c++  java
  • JAVA遍历HashMap和ArrayList

    List Map 基础信息

    HashMap

    最近写程序经常需要遍历集合,所以总结一下内容:

    一、简单实现

    Map map = new HashMap(); 
    for(Object o : map.keySet()){ 
         //o: 返回的key
         //map.get(o):返回的value对象内容
         map.get(o); 
    }

    以上方法慢不说,效率也不高。

    1.1 最经常使用也最可取的方法

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
        System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    }

    1.2 最简单的方法

    Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    //遍历map中的key值
    for (Integer key : map.keySet()) {
        System.out.println("Key = " + key);
    }
    
    //遍历map中的value值
    for (Integer value : map.values()) {
        System.out.println("Value = " + value);
    }

    二、使用Iterator遍历

    Map map = new HashMap(); 
    Iterator it = map.entrySet().iterator(); 
    while (it.hasNext()) { 
        Map.Entry entry = (Map.Entry) it.next(); 
        Object key = entry.getKey(); 
        Object value = entry.getValue(); 
    }

    三、使用Iterator遍历

    Map map = new HashMap();
    Collection c = map.values();
    Iterator iterator = c.iterator();
    while(iterator.hasNext()) {
        Object value = iterator.next(); 
    }

    keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry。Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。

    ArrayList

    import java.util.Iterator;
    import java.util.List;
    import java.util.ArrayList;
    public class Test {
        public static void main(String args[]) {
            List<String> list = new ArrayList<String>();
            list.add("test1");
            list.add("test2");
            list.add("test3");
            Iterator it1 = list.iterator();
            while (it1.hasNext()) {
                System.out.println(it1.next());
            }
            for (Iterator it2 = list.iterator(); it2.hasNext();) {
                System.out.println(it2.next());
            }
            for (String tmp : list) {
                System.out.println(tmp);
            }
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
    }
  • 相关阅读:
    Python:如何将文件映射到内存
    关于系统中:/dev/mem
    Python:如何设置文件的缓冲
    Python:如何处理二进制文件
    Python:struct模块的pack、unpack
    Python:如何读写文本文件
    《鸟哥的Linux私房菜》读书笔记3
    《鸟哥的Linux私房菜》读书笔记2
    《鸟哥的Linux私房菜》读书笔记1
    raspberry是个什么玩意
  • 原文地址:https://www.cnblogs.com/liqiu/p/3303396.html
Copyright © 2011-2022 走看看