Java集合的遍历方式

Posted 起床oO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合的遍历方式相关的知识,希望对你有一定的参考价值。

Map的遍历

1.通过map.entrySet遍历Key和Value

Map<Integer,Integer> map = new HashMap<>();
        map.put(1, 10);
        map.put(2, 8);
for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey() + " ---- " + entry.getValue() );
}

如果你遍历的Map是一个空的对象(null),for-each循环将会抛出java.lang.NullPointerException异常

2.通过map.keySet()来遍历key,通过map.values()来遍历Value,适用于只需要map中的Key或者Value的情况

Map<Integer,Integer> map = new HashMap<>();
        map.put(1, 10);
        map.put(2, 8);
        for (Integer i : map.keySet()) {
            System.out.println(i);
        }
        
        for ( Integer i : map.values()) {
            System.out.println(i);
        }

3.通过Iterator遍历Map

//使用泛型
Map<Integer,Integer> map = new HashMap<>(); map.put(1, 10); map.put(2, 8); Iterator<Map.Entry<Integer, Integer>> iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<Integer, Integer> temp = iterator.next(); System.out.println(temp.getKey() + " ----- " + temp.getValue()); }

//不使用泛型
Map<Integer,Integer> map = new HashMap<>();
        map.put(1, 10);
        map.put(2, 8);
        Iterator iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry entry = (Map.Entry) iterator.next();
            Integer key = (Integer) entry.getKey();
            Integer value = (Integer) entry.getValue();
            System.out.println(key + " ----- " + value);
        }

4. 通过key找value(效率低)

Map<Integer,Integer> map = new HashMap<>();
        map.put(1, 10);
        map.put(2, 8);
        for ( Integer key : map.keySet()) {
            Integer value = map.get(key);
            System.out.println(key + " ----- " + value);
        }

 List的遍历

1.方式一

List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        for ( Integer i : list) {
            System.out.println(i);
        }

2.方式二

List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        Iterator iterator = list.iterator();
        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }

3.方式三

List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        for ( int i = 0 ; i < list.size() ; i++ ) {
            System.out.println(list.get(i));
        }

 















以上是关于Java集合的遍历方式的主要内容,如果未能解决你的问题,请参考以下文章

201621123057 《Java程序设计》第9周学习总结

精髓!Java中遍历Map集合的五种方式

java中遍历集合的三种方式

201521123089 《Java程序设计》第8周学习总结

Java中Map集合的三种遍历方式

java中怎么遍历list集合