自学内容网 自学内容网

【集合遍历详细讲解】Map、List、Set的遍历方式

这篇文章让你彻底理解集合的遍历方式,以及实现的方法 !!!

制作不易,觉得不错请点赞收藏哟 !!!

为什么要收藏呢,因为我觉得,编程这东西,如果没经常涉及到这方面的知识,

大概率过几天就会忘记 !!!

目录

1.Map增强For循环的三种遍历方式

1.1  键找值

1.2  键值对

1.3  Lambda遍历

2.Map迭代器Iterator的三种遍历方式

3.Stream流遍历

3.1  遍历keySet

3.1  遍历entrySet

4.List集合的三种遍历方式

4.1  迭代器遍历

4.2  增强For循环遍历

4.3  普通for循环遍历

5.Set集合的两种遍历方式

5.1  增强For循环

5.2  迭代器遍历


【mysql之基础篇】mysql基本操作详解版-CSDN博客文章浏览阅读1.1k次,点赞24次,收藏14次。外键(Foreign Key)是关系数据库中的一个重要概念,用于建立表与表之间的关联关系。在关系数据库中,数据通常分布在多个表中,外键定义了一个表中的列(或多列)与另一个表中的列之间的关系。存储引擎(Storage Engine)是负责管理表的存储和检索的组件,它们之间有不同的特性、优缺点以及适用场景事务支持:InnoDB 支持事务,这意味着它提供了 ACID(原子性、一致性、隔离性、持久性)特性。行级锁定:InnoDB 使用行级锁定来管理并发访问,这使得它在高并发环境中表现良好。https://blog.csdn.net/2301_77358195/article/details/137121480

1.Map增强For循环的三种遍历方式

1.1  键找值

通过keySet()获取集合中所有的键,然后遍历Set<String> keys = maps.keySet(),

再通过get(key) 获取对应的值

@Test
    public void testMap01() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);

        //第一种
        Set<String> keys = map.keySet();
        for (String key : keys) {
            System.out.println(key + "--" + map.get(key));
        }
    }

1.2  键值对

先通过entrySet方法把Map集合转换成Set集合,Set集合中每个元素都是键值对实体类型了(将键和值看成一个整体)。

遍历获取到的Set集合,然后通过getKey提取键, 以及getValue提取值。

@Test
    public void testMap02() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);

        //第二种
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            System.out.println(entry.getKey() + "--" + entry.getValue());
        }
    }

1.3  Lambda遍历

@Test
    public void testMap03() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);

        //第三种
        map.forEach(new BiConsumer<String, Integer>() {
            @Override
            public void accept(String s, Integer integer) {
                System.out.println(s + "--" + integer);
            }
        });

    }


下面是更简单的方式

@Test
    public void testMap03() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);

        //第三种
        maps.forEach((key, value) -> System.out.println(key + "--->" + value));

    }


2.Map迭代器Iterator的三种遍历方式

因为都是跟上面一样的所以就直接给代码

 @Test
    public void testMap04() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);

        Iterator<String> iterator = map.keySet().iterator();
        while (iterator.hasNext()){
            String key = iterator.next();
            System.out.println(key + "--" + map.get(key));
        }
    }


 

@Test
    public void testMap05() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);
        Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()){
            Map.Entry<String, Integer> next = iterator.next();
            System.out.println(next.getKey() + "--" + next.getValue());
        }
    }


3.Stream流遍历

3.1  遍历keySet

@Test
    public void testMap12() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);
        // 使用stream()方法将Map转换为流,然后进行遍历操作
        map.keySet().stream()
                .forEach(keySet -> System.out.println(keySet + "--" + map.get(keySet)));
    }


 

3.1  遍历entrySet

@Test
    public void testMap13() {
        Map<String, Integer> map = new HashMap<>();
        map.put("小米手机", 1000);
        map.put("苹果手机", 3000);
        map.put("荣耀手机", 2000);
        // 使用stream()方法将Map转换为流,然后进行遍历操作
        map.entrySet().stream()
                .forEach(entry -> System.out.println(entry.getKey() + "--" + entry.getValue()));
    }

4.List集合的三种遍历方式

4.1  迭代器遍历

@Test
    public void testMap07() {
        List<String> list = new ArrayList<>();
        list.add("小米手机");
        list.add("荣耀手机");
        list.add("苹果手机");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String value = iterator.next();
            System.out.println(value);
        }
    }

4.2  增强For循环遍历

  

@Test
    public void testMap08() {
        List<String> list = new ArrayList<>();
        list.add("小米手机");
        list.add("荣耀手机");
        list.add("苹果手机");
        for (String s : list) {
            System.out.println(s);
        }
    }


4.3  普通for循环遍历

@Test
    public void testMap09() {
        List<String> list = new ArrayList<>();
        list.add("小米手机");
        list.add("荣耀手机");
        list.add("苹果手机");
        for (int i = 0;i < list.size();i++){
            System.out.println(list.get(i));
        }
    }


 

5.Set集合的两种遍历方式

5.1  增强For循环

@Test
    public void testMap10() {
        Set<String> set = new HashSet<>();
        set.add("小米手机");
        set.add("荣耀手机");
        set.add("苹果手机");
        for (String s : set) {
            System.out.println(s);
        }
    }

5.2  迭代器遍历

@Test
    public void testMap11() {
        Set<String> set = new HashSet<>();
        set.add("小米手机");
        set.add("荣耀手机");
        set.add("苹果手机");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);
        }
    }


原文地址:https://blog.csdn.net/2301_77358195/article/details/137197614

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!