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));
    }
}
目录
相关文章
Map遍历的几种方法
Map遍历的几种方法
|
2月前
|
测试技术
你知道几种遍历map的方式?
你知道几种遍历map的方式?
|
1天前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
8 1
|
13天前
|
缓存 Java 测试技术
探讨Java中遍历Map集合的最快方式
探讨Java中遍历Map集合的最快方式
12 1
|
27天前
|
存储 缓存 Java
Java遍历Map集合的方法
在Java中,遍历Map集合主要有四种方式:1) 使用`keySet()`遍历keys并用`get()`获取values;2) 使用`entrySet()`直接遍历键值对,效率较高;3) 通过`Iterator`遍历,适合在遍历中删除元素;4) Java 8及以上版本可用`forEach`和Lambda表达式,简洁易读。`entrySet()`通常性能最佳,而遍历方式的选择应考虑代码可读性和数据量。
31 0
Map集合的有序遍历,解决方法多看一下别人的资料
Map集合的有序遍历,解决方法多看一下别人的资料
|
17天前
遍历Map的四种方法之map.entry详解
遍历Map的四种方法之map.entry详解
|
2月前
|
Java
|
2月前
|
存储 编译器 Go
Golang深入浅出之-掌握Go语言Map:初始化、增删查改与遍历
【4月更文挑战第21天】Go语言中的`map`提供快速的键值对操作,包括初始化、增删查改和遍历。初始化时,推荐使用`make()`函数,如`make(map[string]int)`。插入和查询键值对直接通过索引访问,更新则重新赋值。删除键值对需用`delete()`函数,确保键存在。遍历map常用`for range`,注意避免在遍历中修改map。了解这些并避免易错点,能提升代码效率和可读性。
35 1
Golang深入浅出之-掌握Go语言Map:初始化、增删查改与遍历
|
2月前
|
存储 算法 Java
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
盘点Java集合(容器)概览,Collection和Map在开发中谁用的最多?
43 0