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

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

时间:2016-03-19 06:32:14      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:java基础

1.描述HashMap内部实现原理。

2.描述Hashset和HashMap的区别。

3.年级的集合使用Map的嵌套实现。

  10班,每个班50人。

4.编程实现文本文件的复制。合理设计程序,得到缓冲区的大小的高效区间。

  提示缓冲区设置1k开始,不超过10M。

------------------------------------------------------------------------------

  1 HashMap从纵向看包括一个hashset类型的key集,一个collection的value集。横向看hashmap的本质是一个entry的hashset集合。在存储方式上hashmap底层实现了一个散列算法,散列是一种基于关键词的搜索算法,提升了hashmap的查找速度。hashmap的查找机制是先用对象的hashcode得出一个地址用equals比较地址中的链表的各个元素如果相同取出对应的value值。散列的实现机制是,重写对象的hashcode方法,object的hashcode算法是操作系统实现的,java给出了String的hashcode算法的实现(result*31叠加)。java在hashcode的基础之上用返回值>>>16和hashcode亦或将低十六位更加分散。分配地址到object[]中。

2,hashSet没有KV对的概念,底层是由hashmap实现的

3,Map<Integer,Map<Integer,String>> school=new HashMap<Integer,Map<Integer,String>>();
        
        for(int i=1;i<=10;i++){
            Map<Integer,String> classes=new HashMap<Integer,String>();
            for(int j=1;j<=50;j++){
                classes.put(j, i+j+"");
            }
            school.put(i, classes);
            
        }

4,FileReader reader=new FileReader("d:/a.txt");
            char[] buffer=new char[1024];
            FileWriter writer=new FileWriter("d:/b.txt");
            int length=-1;
            while((length=reader.read(buffer))!=-1){
                writer.write(buffer, 0, length);
            }



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

标签:java基础

原文地址:http://11102728.blog.51cto.com/11092728/1752730

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