Collection和Map的遍历方式

简介: Collection和Map的遍历方式

Collection 遍历的三种方式


1)迭代器遍历

Iterator<String> it = lists.iterator();
while (it.hasNext()) {
    System.out.println(it.next());
}


(2)增强for循环遍历

String[] names = {"Angela", "baby", "坤坤"};
for (String name : names) {
    System.out.println(name);
}


(3)Lambda表达式遍历

lists.forEach(new Consumer<String>() {
    @Override
    public void accept(String s) {
        System.out.println(s);
    }
});
 
lists.forEach(s -> System.out.println(s));
lists.forEach(System.out::println);


Map遍历的三种方式


(1)键找值

public class Demo1 {
    public static void main(String[] args) {
        // 目标:掌握Map集合的遍历方式一:键找值
        Map<String, Double> map = new HashMap<>();
        map.put("杨颖", 168.8);
        map.put("韩红", 152.5);
        map.put("杨紫", 167.5);
        map.put("蔡徐坤", 183.6);
        System.out.println(map);
 
        // 1.先得到所有键的集合
        Set<String> keys = map.keySet();
        // 2.遍历键的集合,分别取出每个键对应的值
        for (String key : keys) {
            Double value = map.get(key);
            System.out.println(key + "====>" + value);
        }
    }
}


(2)键值对

public class Demo2 {
    public static void main(String[] args) {
        // 目标:掌握Map集合的遍历方式二:键值对
        Map<String, Double> map = new HashMap<>();
        map.put("杨颖", 168.8);
        map.put("韩红", 152.5);
        map.put("杨紫", 167.5);
        map.put("蔡徐坤", 183.6);
        System.out.println(map);    // {杨颖=168.8, 蔡徐坤=183.6, 韩红=152.5, 杨紫=167.5}
 
        // 1.获取键值对的集合, 结果是一个Set集合
        Set<Map.Entry<String, Double>> entries = map.entrySet();
        System.out.println(entries);    // [杨颖=168.8, 蔡徐坤=183.6, 韩红=152.5, 杨紫=167.5]
 
        // 2.遍历Set集合,分别获取每个键值对的键和对应的值
        for (Map.Entry<String, Double> entry : entries) {
            String key = entry.getKey();
            Double value = entry.getValue();
            System.out.println(key + "===>" + value);
        }
    }
}


(3)Lambda表达式

public class Demo3 {
    public static void main(String[] args) {
        // 目标:掌握Map集合的遍历方式三:Lambda表达式
        Map<String, Double> map = new HashMap<>();
        map.put("杨颖", 168.8);
        map.put("韩红", 152.5);
        map.put("杨紫", 167.5);
        map.put("蔡徐坤", 183.6);
        System.out.println(map);    // {杨颖=168.8, 蔡徐坤=183.6, 韩红=152.5, 杨紫=167.5}
 
        // 需要用到Map提供的forEach方法
        map.forEach(new BiConsumer<String, Double>() {
            @Override
            public void accept(String k, Double v) {
                System.out.println(k + "--->" + v);
            }
        });
 
        // 简化为Lambda表达式
        map.forEach((k, v) -> System.out.println(k + "--->" + v));
    }
}
目录
相关文章
go语言中遍历映射(map)
go语言中遍历映射(map)
342 8
|
9月前
|
存储 JavaScript 前端开发
for...of循环在遍历Set和Map时的注意事项有哪些?
for...of循环在遍历Set和Map时的注意事项有哪些?
417 121
|
9月前
|
安全 Java 数据库连接
让我们讲解一下 Map 集合遍历的方式
我是小假 期待与你的下一次相遇 ~
329 43
|
10月前
|
存储 安全 Go
Map的遍历与判断键是否存在-《Go语言实战指南》
本文介绍了 Go 语言中对 `map` 的常见操作,包括遍历所有项和判断键是否存在。通过 `for range` 可以遍历 `map` 的键值对、仅键或仅值(需忽略键)。注意,`map` 遍历顺序是随机的。判断键是否存在时,使用双赋值语法 `value, ok := map[key]`,其中 `ok` 表示键是否存在。直接访问不存在的键会返回类型的零值,可能导致逻辑错误。掌握这些机制可更安全高效地处理键值对数据。
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
215 18
你对Collection中Set、List、Map理解?
|
12月前
使用 entrySet 遍历 Map 类集合 KV
使用 entrySet 遍历 Map 类集合 KV
go语言for遍历映射(map)
go语言for遍历映射(map)
483 12
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
381 2
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
818 1
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
160 5