Java 基础:各个集合的遍历(List/Set/Map) -- (增强 for 循环 和 迭代器 Iterator)

前置知识:

1、Collection 中 List/Set 的用法
2、Map 的使用方法

/**
 *    各个集合的遍历,有两种方式:
 *    1、循环 for (普通 for 循环 和 增强版 for 循环)
 *    2、迭代器 Iterator 进行遍历
 */

迭代器的使用方式:

迭代器(Iterator) 进行遍历:
hasNext()  1、判断是否存在下一个元素 true/false
           2、如果有,指针后移
next() : 取出当前元素

遍历List 集合的方式:

public static void main(String[] args) {
		List list = new ArrayList();

        list.add("aa");
        list.add("bb");
        list.add("cc");

        // 用普通 for 进行遍历:
        System.out.println("-----------List集合用 普通 for 进行遍历 ----------");
        for(int i = 0; i < list.size(); i ++) {
            System.out.println(list.get(i));
        }

        // 增强 for 进行遍历
        // for(元素类型 变量: 数组名)
        System.out.println("-----------List集合用 增强 for 进行遍历 ----------");
        for (Object o : list) {
            System.out.println(o);
        }
        
     	System.out.println("--------迭代器遍历 List 集合 ---------------");
        Iterator iterator1 = list.iterator();
        while(iterator1.hasNext()) {
            System.out.println(iterator1.next());
        }
  }
  

遍历Set 集合的方式:

public static void main(String[] args) {
        Set set = new HashSet();

        set.add("a");
        set.add("b");
        set.add("c");

        // 无法使用 普通循环进行遍历, set 是无序的,也就是说下标是无序的,不像 list 有 get(int index) 方法
        for(int i = 0; i < set.size(); i ++) {

        }

        // Set 集合必须通过 增强 for 进行遍历
        System.out.println("-----------Set集合用 增强 for 进行遍历 ----------");
        for(Object o : set) {
            System.out.println(o);
        }

		System.out.println("--------迭代器遍历 Set 集合 ---------------");
        Iterator iterator = set.iterator();

        while(iterator.hasNext()) {
            System.out.println(iterator.next());
        }
   }

遍历 Map 集合的方法:

public static void main(String[] args) {
   System.out.println("---------- 遍历 Map 的几种方法 --------------");
        /**
         *  遍历 Map : 将双值集合,转为单值集合
         *
         * */
        System.out.println("---------- 遍历 Map : 将双值集合,转为单值集合 -------------- ");
        Map map = new HashMap();

        map.put("01","zs");
        map.put("02","ls");
        map.put("03","ww");

        Set set1 = map.keySet();
        Collection values = map.values();

        for (Object s : set1) {
            System.out.println(s);
        }

        for (Object v : values) {
            System.out.println(v);
        }

        System.out.println("------------ 转换为单值集合后 ,直接通过 key 取 value 即可 -----------");


        for (Object s : set1) {
            System.out.println("key:" + s);
            System.out.println("value:" + map.get(s));
        }


        // 通过 entity 直接取出一个 键值对 进行遍历
        System.out.println("-------------- 通过 entity 直接取出一个 键值对 进行遍历 -------------");

        Set entities = map.entrySet();

        for (Object e : entities) {
            Map.Entry en = (Map.Entry) e;
            Object key = en.getKey();
            Object value = en.getValue();
            System.out.println("key = " + key + "      " + "value =" + value);
        }
     }

猜你喜欢

转载自blog.csdn.net/qq_43619271/article/details/106277342