大数据Java基础第十二天作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据Java基础第十二天作业相关的知识,希望对你有一定的参考价值。

第一题:HashMap内部实现原理
HashMap存的是key => value 对的集合,每一对就是一个entry(条目),key和value存的都是对象的引用。key不能存重复的值,key的集合是keySet()。value可以存重复的值,value的集合是values()。
HashMap底层用的是hash(散列)算法,使的在map中查询值速度快效率高。
HashMap判断对象是否相等,先判断hashcode是否相等,再判断equals值是否相等。对象相等代码:(this.hashcode() == obj.hashcode() && (this == obj || this.equals(obj)))

第二题:HashSet和HashMap区别
HashSet:实现Collection接口,只存value的集合,用的hash算法存储,value的值不能重复。
HashMap:实现Map接口,存的key=>value的集合,用的hash算法存储,key的值不能重复,value值可以重复。

第三题:
import java.util.Map;
import java.util.HashMap;
import java.util.Map.Entry;

public class Student {
    public static void main(String[] args) {
        Map<Integer,Map <Integer,String>> classes = new HashMap<Integer,Map <Integer,String>>();
        //往里添加数据
        Map<Integer,String> student = null;
        int num = 1;
        for(int i=1;i<=10;i++){
            student = new HashMap<Integer,String>();
            classes.put(i,student);
            for(int j=1;j<=50;j++){
                student.put(j,"Tom" + num);
                num ++;
            }
        }
        
        //使用Entry
        for(Entry<Integer,Map<Integer,String>> class_entry : classes.entrySet()){
            Map<Integer,String> students = class_entry.getValue();
            for(Entry<Integer,String> student_entry : students.entrySet()){
                System.out.println("班级:" + class_entry.getKey() + "班,学号:" + student_entry.getKey() + "号,姓名:" + student_entry.getValue());
            }
        }
        
        System.out.println("--------------------------------------------------------------");
        
        //使用keySet
        for(Integer class_num:classes.keySet()){
            Map<Integer,String> students = classes.get(class_num);
            for(Integer student_num:students.keySet()){
                System.out.println("班级:" + class_num + "班,学号:" + student_num + "号,姓名:" + students.get(student_num));
            }
        }
    }
}


本文出自 “森林敏” 博客,请务必保留此出处http://senlinmin.blog.51cto.com/6400386/1782473

以上是关于大数据Java基础第十二天作业的主要内容,如果未能解决你的问题,请参考以下文章

IT十八掌作业_java基础第十二天_集合

IT十八掌作业_java基础第十二天_集合

大数据Java基础第十五天作业

大数据Java基础第十九天作业

java基础第十二天_集合

IT十八掌作业_java基础第十七天_QQ案例