zoukankan      html  css  js  c++  java
  • 史上最全HashMap遍历方式

    java Hashmap Map TreeMap 的几种遍历方式,全网最全,全网最强

    package Collec2;
    
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    
    public class Test1 {
    
        public static void main(String[] args) {
            HashMap<Student, String> hashmap_88 = new HashMap<Student, String>();
            hashmap_88.put(new Student("张三", 23), "北京");
            hashmap_88.put(new Student("李四", 24), "南京");
            HashMap<Student, String> hashmap_99 = new HashMap<Student, String>();
            hashmap_99.put(new Student("王五", 23), "上海");
            hashmap_99.put(new Student("赵六", 24), "深圳");
            HashMap<HashMap<Student, String>, String> hm = new HashMap<HashMap<Student, String>, String>();
            hm.put(hashmap_88, "第88期基础班");
            hm.put(hashmap_99, "第99期基础班");
            
            System.out.println("遍历方式一");
            Set<HashMap<Student, String>> ks = hm.keySet();
            Iterator<HashMap<Student, String>> it1 = ks.iterator();
            while(it1.hasNext()) {
                HashMap<Student,String> next_stu_value = it1.next();
                Set<Student> stu_set = next_stu_value.keySet();
                Iterator<Student> stu_it = stu_set.iterator();
                System.out.println(hm.get(next_stu_value)+"有以下学生");
                while(stu_it.hasNext()) {
                    Student student = stu_it.next();
                    System.out.println("个人信息"+student);
                }
            }
            
            System.out.println("遍历方式二");
            for (HashMap<Student, String> hashMap : hm.keySet()) {
                System.out.println(hm.get(hashMap)+"有以下学生");
                for (Student stu : hashMap.keySet()) {
                    System.out.println("个人信息"+stu);
                }
            }
            System.out.println("遍历方式三");
            Set<HashMap<Student,String>> x=hm.keySet();
            for(Iterator<HashMap<Student,String>> it= x.iterator();it.hasNext();) {
                 HashMap<Student, String> stu_map_value = it.next();
                 System.out.println(hm.get(stu_map_value)+"有以下学生");
                for( Iterator<Student> it2 = stu_map_value.keySet().iterator();it2.hasNext();) {
                    Student student = it2.next();
                    System.out.println("个人信息"+student);
                }
            }
            System.out.println("遍历方式四");
            Set<Entry<HashMap<Student,String>,String>> entrySet = hm.entrySet();
            Iterator<Entry<HashMap<Student, String>, String>> itentry = entrySet.iterator();
            while(itentry.hasNext()) {
                Entry<HashMap<Student, String>, String> entry = itentry.next();
                HashMap<Student,String> map = entry.getKey();
                System.out.println(entry.getValue()+"有以下学生");
                Iterator<Entry<Student, String>> iterator = map.entrySet().iterator();
                 while(iterator.hasNext()) {
                     Entry<Student, String> next = iterator.next();
                        System.out.println("个人信息"+next.getKey()+" "+next.getValue());
                 }
            }
            System.out.println("遍历方式五");
            for (Map.Entry<HashMap<Student, String>, String> entry : hm.entrySet()) {
                System.out.println(entry.getValue()+"有以下学生");
                for (Map.Entry<Student,String> stu : entry.getKey().entrySet()) {
                    System.out.println("个人信息"+stu.getKey()+" "+stu.getValue());
                }
            }
            System.out.println("遍历方式六");
            hm.forEach((K,V)->{
                System.out.println(V+"有以下学生");
                K.forEach((sub_K,sub_V)->{
                    System.out.println("个人信息"+sub_K+" "+sub_V);
                });
            });
            
            Iterator<HashMap<Student, String>> ite2 = hm.keySet().iterator();
            while(ite2.hasNext()) {
                HashMap<Student,String> next = ite2.next();
                Iterator<Entry<Student, String>> iterator = next.entrySet().iterator();
                while(iterator.hasNext()) {
                    Entry<Student, String> entry = iterator.next();
                    if(entry.getValue().equals("深圳")) {
                        iterator.remove();
                    }
                }
            }
            System.out.println("-=-----------------------");
            hm.forEach((K,V)->{
                System.out.println(V+"有以下学生");
                K.forEach((sub_K,sub_V)->{
                    System.out.println("个人信息"+sub_K+" "+sub_V);
                });
            });
            
            
        }
    }
  • 相关阅读:
    20175322 周弋鸿 2018-2019-2 《Java程序设计》第八周学习总结
    2018-2019-2-20175303 实验二 《Java开发环境的熟悉》实验报告
    20175322 《Java程序设计》第七周学习总结
    20175322 《Java程序设计》第六周学习总结
    2018-2019-2 20175322实验一《Java开发环境的熟悉》实验报告
    20175322《Java程序设计》第五周学习总结
    《Java程序设计》第四周学习总结
    《Java程序设计》第三周学习总结
    《Java程序设计》第二周学习总结
    第一周学习总结
  • 原文地址:https://www.cnblogs.com/dgwblog/p/11640909.html
Copyright © 2011-2022 走看看