zoukankan      html  css  js  c++  java
  • 【Java】集合遍历--List和Map的多种遍历方式

    1. List的两种遍历方式

    package com.nova.test;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class ListDemo {
        public static void main(String[] args) {
            List<String> list = new ArrayList<String>();
            list.add("super");
            list.add("nova");
            list.add("supernova");
            list.add("go");
    
            // 通过Iterator的方式遍历
            Iterator<String> iterator = list.iterator();
            while (iterator.hasNext()) {
                String str = iterator.next();
                System.out.println(str);
            }
    
            list.add(1, "star");// 在1位置处添加元素
            list.remove(list.size() - 1);// 删除列表最后一个元素
            
            System.out.println("通过增强for循环遍历");
            // 通过增强for循环遍历
            for(String str:list) {
                System.out.println(str);
            }
        }
    }

    2. Map的三种遍历方式

    package com.nova.test;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    
    public class MapDemo {
        public static void main(String[] args) {
            Map<Integer,String> map = new HashMap<Integer,String>();
            //存放数据
            map.put(1,"super");
            map.put(2,"nova");
            map.put(3,"supernova");
            
            //通过Set遍历
            System.out.println("通过Set遍历");
            Set<Integer> set1 = map.keySet();
            Iterator<Integer> iterator1 = set1.iterator();
            while(iterator1.hasNext()) {
                Integer id = iterator1.next();
                System.out.println(id+" "+ map.get(id));
            }
            
            map.put(2,"star");//覆盖替换key为2的值
            
            //通过EntrySet遍历
            System.out.println("通过EntrySet遍历");
            Set<Map.Entry<Integer,String>> set2 = map.entrySet();
            Iterator<Map.Entry<Integer,String>> iterator2 = set2.iterator();
            while(iterator2.hasNext()) {
                Map.Entry<Integer,String> entry = iterator2.next();
                System.out.println(entry.getKey()+" "+entry.getValue());
            }
            
            map.remove(1);//删除key为1的数
            map.put(4,"hero");//添加数据
            
            //通过增强for循环遍历
            System.out.println("通过增强for循环遍历");
            Set<Integer> set3 = map.keySet();
            for(Integer num:set3) {
                System.out.println(num+" "+map.get(num));
            }
            
            
        }
    }
  • 相关阅读:
    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程
    深入理解Linux系统调用
    基于mykernel 2.0编写一个操作系统内核
    如何评测软件工程知识技能水平?
    创新产品的需求分析:未来的图书会是什么样子?
    案例分析:设计模式与代码的结构特性
    业务领域建模Domain Modeling
    工程实践用例建模
    分析一套源代码的代码规范和风格并讨论如何改进优化代码
    面向对象第三单元作业反思与总结
  • 原文地址:https://www.cnblogs.com/snova/p/9195702.html
Copyright © 2011-2022 走看看