码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-05-24 17:15:46      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:java   hashmap   大数据   io   

第一题: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基础第十二天作业

标签:java   hashmap   大数据   io   

原文地址:http://senlinmin.blog.51cto.com/6400386/1782473

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!