java map扩展

map集合被使用是因为具备映射关系。

一个学校有多个教室,每个教室都有多个学生。

public class Demo {
    public static void main(String[] args) {
        HashMap<String,HashMap<String,String>> czbk = new HashMap<String,HashMap<String,String>>();

        HashMap<String,String> yure = new HashMap<String,String>();
        yure.put("01","xiaoming");
        yure.put("02","xiaohong");

        HashMap<String,String> jiuye = new HashMap<String,String>();
        jiuye.put("01","xiaoxue");
        jiuye.put("02","xiaoli");

        czbk.put("jiuyeban",jiuye);
        czbk.put("yureban",yure);
        getInfo(czbk);
    }
    public static void getStudentInfo(HashMap<String ,String> roomMap){
        Iterator<String> it = roomMap.keySet().iterator();
       while (it.hasNext()){
           String id = it.next();
           String name = roomMap.get(id);
           System.out.println(id+":"+name);
       }
    }

    public static void getInfo(HashMap<String,HashMap<String,String>> school){
        Iterator<String> it = school.keySet().iterator();
        while (it.hasNext()){
            String roomName = it.next();
            HashMap<String,String> room = school.get(roomName);
            System.out.println(roomName);
            getStudentInfo(room);
        }
    }
}
class Student {
    private int id;
    private String name;

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name=‘" + name + ‘\‘‘ +
                ‘}‘;
    }
}

public class Demo {
    public static void main(String[] args) {
        HashMap<String, List<Student>> czbk = new HashMap<String, List<Student>>();

        List<Student> yure = new ArrayList<Student>();
        List<Student> jiuye = new ArrayList<Student>();

        czbk.put("yureban", yure);
        czbk.put("jiuyeban", jiuye);

        yure.add(new Student(1, "xiaohong"));
        yure.add(new Student(2, "xiaoli"));

        jiuye.add(new Student(1, "xiaoxue"));
        jiuye.add(new Student(2, "xiaomeng"));

        Iterator<String> it = czbk.keySet().iterator();
        while (it.hasNext()) {
            String roomName = it.next();
            List<Student> room = czbk.get(roomName);
            System.out.println(roomName);
            getInfos(room);
        }
    }

    public static void getInfos(List<Student> room) {
        Iterator<Student> it = room.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
    }
}

原文地址:https://www.cnblogs.com/hongxiao2020/p/12661300.html

时间: 2024-11-09 10:44:24

java map扩展的相关文章

java Map扩展知识练习

/* map扩展知识. map集合被使用是因为映射关系. 编程实现以下数据: "yureban" -> "01" "zhangsan" "yureban" -> "02" "lisi" "jiuyeban" -> "01" "wangwu" "jiuyeban" -> "02

【JAVA】六 JAVA Map 一 HashMap

[JAVA]六 JAVA Map 一 HashMap JDK API java.util Interface Map Type Parameters: K - the type of keys maintained by this map V - the type of mapped values All Known Subinterfaces: Bindings, ConcurrentMap<K,V>, ConcurrentNavigableMap<K,V>, LogicalMe

Java管理扩展JMX之HelloWord篇

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台.系统体系结构和网络传输协议,灵活的开发无缝集成的系统.网络和服务管理应用. 用于发布服务的接口类ITestHelloMXBean.java [codesyntax lang="java" lines="normal"] package org.suren.littlebird; /** * @aut

[Java] MAP、LIST、SET集合解析

在JAVA的util包中有两个所有集合的父接口Collection和Map,它们的父子关系: java.util        +Collection 这个接口extends自 --java.lang.Iterable接口           +List 接口               -ArrayList 类              -LinkedList 类              -Vector 类     此类是实现同步的 +Queue 接口              +不常用,在

了解Java密码扩展的基础

  了解Java密码扩展的基础     Java密码扩展(The Java Cryptography Extension),是JDK1.4的一个重要部分,基本上,他是由一些包构成的,这些包形成了一个框架并实现了一些加密,密钥生成算法和协议,消息认证码等算法,这篇文章将想你介绍JCE的安装和使用.    值得注意的是,尽管JCE是JDK1.4的核心包的一部分,我们将首先用JDK1.2及高一点的版本向你演示一下如何安装配置JCE(静态安装).稍后,将向你介绍如何在不安装的情况下使用JCE(动态安装)

java Map排序(升序、降序、随机排序)

基础知识: 1 HashMap会使用key,根据hashcode进行默认排序. 2  LinkedHashMap根据存入先后进行排序 代码展示: 1 随机排序 java Map排序(升序.降序.随机排序),布布扣,bubuko.com

Java Map遍历方式的选择

1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keySet拿到的只是key的集合,针对每个key,都要去Map中额外查找一次value,从而降低了总体效率.那么实际情况如何呢? 为了解遍历性能的真实差距,包括在遍历key+value.遍历key.遍历value等不同场景下的差异,我试着进行了一些对比测试. 2. 对比测试 一开始只进行了简单的测试,但结果却表明k

java Map使用Object 做为Key的问题

近期在看dnsjava 源码的时候,不经意间发现一个自己没有想过的问题: HashMap 如何使用key去查找对应的value的,这个问题很难用语言描述的清楚,那就使用代码来进行说明吧! public class test { public static void main(String[] args) { a aa = new a(); b bb = new b(); Map<Object,Object> c = new HashMap<Object,Object>(); c.p

java Map实现的cache manager

一个模仿memcached的JAVA虚拟缓存工具,可以缓存java对象 1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3 import java.io.ObjectInputStream; 4 import java.io.ObjectOutputStream; 5 import java.util.concurrent.ConcurrentHashMap; 6 import java