List,Map 三种遍历方式:(总结理解)

简介: List,Map 三种遍历方式:(总结理解)
package com.example.democrud.democurd.Prototype.demo01;
import java.util.*;
public class Demo4 {
    public static void main(String[] args) {
        // List的三种遍历方式:
        listTest();
        System.out.println("------------------方法分割-----------------------");
        //Map的三种遍历方式:
        mapTest();
    }
    public static void mapTest() {
        HashMap<String, String> map = new HashMap<>();
        map.put("孙悟空", "老大");
        map.put("猪八戒", "老三");
        map.put("唐三藏", "老二");
        map.put("沙悟净", "老四");
        //表示将map对象的所有key值已set集合的形式返回
        Set<String> set = map.keySet();
        for (String s : set) {
            //s就是key的值 s1是value
            String s1 = map.get(s);
            System.out.println("键:" + s + "- 值:" + s1);
        }
        System.out.println("-----------------------------");
        /**
         * entrySet()
         将原有Map集合中的键值作为一个整体返回Set集合
         再将包含键值对对象的Set集合转化为Iterator接口对象,
         然后获取集合中的所有的键值对映射关系,
         在从映射关系中取出键和值
         *
         */
        Set<Map.Entry<String, String>> set01 = map.entrySet();
        for (Map.Entry<String, String> entry : set01) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println("键:" + key + "- 值:" + value);
        }
        System.out.println("-----------------------------");
/**
 * map.entrySet().iterator();
 * 首先是map.entrySet()是把HashMap类型的数据转换成集合类型;
 * 然后是获得map的迭代器,用作遍历map中的每一个键值对;
 * iterator()是去获得这个集合的迭代器,保存在iter里面;
 */
        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, String> next = iterator.next();
            String key = next.getKey();
            String value = next.getValue();
            System.out.println("键:" + key + "- 值:" + value);
        }
        System.out.println("-----------------------------");
        System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
        for (String v : map.values()) {
            System.out.println("value= " + v);
        }
    }
    public static void listTest() {
        List<String> list = new ArrayList<>();
        list.add("孙悟空");
        list.add("唐三藏");
        list.add("猪八戒");
        list.add("沙悟净");
        String string = list.toString();
        System.out.println(string);
        System.out.println("-----------------------------");
        for (String s : list) {
            System.out.println(s);
        }
        System.out.println("-----------------------------");
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("-----------------------------");
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()) {
            String next = iterator.next();
            System.out.println(next);
        }
    }
}

运行结果如下:

[孙悟空, 唐三藏, 猪八戒, 沙悟净]
-----------------------------
孙悟空
唐三藏
猪八戒
沙悟净
-----------------------------
孙悟空
唐三藏
猪八戒
沙悟净
-----------------------------
孙悟空
唐三藏
猪八戒
沙悟净
------------------方法分割-----------------------
键:孙悟空- 值:老大
键:沙悟净- 值:老四
键:猪八戒- 值:老三
键:唐三藏- 值:老二
-----------------------------
键:孙悟空- 值:老大
键:沙悟净- 值:老四
键:猪八戒- 值:老三
键:唐三藏- 值:老二
-----------------------------
键:孙悟空- 值:老大
键:沙悟净- 值:老四
键:猪八戒- 值:老三
键:唐三藏- 值:老二
-----------------------------
通过Map.values()遍历所有的value,但不能遍历key
value= 老大
value= 老四
value= 老三
value= 老二


相关文章
|
3月前
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
|
5月前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
|
23天前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
18 3
|
5月前
|
索引
List集合(方法简介,集合遍历)
List集合(方法简介,集合遍历)
|
1月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
19 1
|
2月前
|
算法
你对Collection中Set、List、Map理解?
你对Collection中Set、List、Map理解?
36 5
|
3月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
3月前
|
存储 Java 索引
|
4月前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
78 1
|
5月前
|
缓存 Java 测试技术
探讨Java中遍历Map集合的最快方式
探讨Java中遍历Map集合的最快方式
72 1