Java中遍历集合的方法(List集合、Set集合和Map集合)

一、遍历List集合(三种方式)

        List<String> list = new ArrayList<>();
        list.add("Tom");
        list.add("Jack");
        list.add("Jerry");

        //1、传统for循环遍历
        for (int i = 0; i < list.size(); i++) {
            String name = list.get(i);
            System.out.println(name);
        }

        //2、加强for循环遍历
        for (String name:list) {
            System.out.println(name);
        }

        //3、迭代器遍历
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String name = iterator.next();
            System.out.println(name);
        }

二、遍历Set集合(两种方式)

注意:Set集合没有提供get方法,所以对Set集合只能通过加强for循环和迭代器进行遍历

        Set<Integer> scores = new HashSet<Integer>();
        scores.add(12);
        scores.add(15);
        scores.add(18);

        //1、加强for循环遍历
        for (Integer score:scores) {
            System.out.println(score);
        }

        //2、迭代器遍历
        Iterator<Integer> iterator = scores.iterator();
        while(iterator.hasNext()){
            Integer score = iterator.next();
            System.out.println(score);
        }

三、遍历Map集合(四种方式)

        Map<String, Integer> grades = new HashMap<String, Integer>();
        grades.put("Tom",100);
        grades.put("Jack",80);
        grades.put("Jerry",60);

        //1.1 首先使用keySet()方法获取Map集合中所有的key组成的Set集合,
        // 然后用加强for循环进行遍历得到所有的key值,
        // 最后用get(Object key)方法得到所有的value值。
        Set<String> names = grades.keySet();
        for (String name:names) {
            Integer grade = grades.get(name);
            System.out.println(name+":"+grade);
        }

        //1.2 首先使用keySet()方法获取Map集合中所有的key组成的Set集合,
        // 然后用迭代器进行遍历得到所有的key值,
        // 最后用get(Object key)方法得到所有的value值。
        Iterator<String> iterator = names.iterator();
        while(iterator.hasNext()){
            String name = iterator.next();
            Integer grade = grades.get(name);
            System.out.println(name+":"+grade);
        }

        //2.1 首先使用entrySet()方法将Map集合每个key-value转换为一个Entry对象
        //并返回由所有的Entry对象组成的Set集合,
        //然后用加强for循环进行遍历得到所有的entry对象,
        //最后用getKey()和getValue()方法得到key和value的值。
        Set<Map.Entry<String, Integer>> entries = grades.entrySet();
        for (Map.Entry<String, Integer> entry:entries) {
			String name = entry.getKey();
			Integer grade = entry.getValue();
            System.out.println(name+":"+grade);
		}

        //2.2 首先使用entrySet()方法将Map集合每个key-value转换为一个Entry对象
        //并返回由所有的Entry对象组成的Set集合,
        //然后用迭代器进行遍历得到所有的entry对象,
        //最后用getKey()和getValue()方法得到key和value的值。
        Iterator<Map.Entry<String, Integer>> iterator = entries.iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, Integer> entry = iterator.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key+":"+value);
        }

猜你喜欢

转载自blog.csdn.net/IT_Helianthus/article/details/89518115
今日推荐