3-自己动手写HashMap 增加哈希算法
public class HashMap {
    //存储元素数组
    private Entry[] entry = null;
    //记录map个数
    private int size;
    //构造器
    public HashMap() {
        this.entry = new Entry[10];
    }
    //增加新元素
    public void put(Object key, Object value) {
        Entry e = new Entry(key, value);
        //增加哈希算法
        int index=key.hashCode() % 10;
        entry[index] = e;
        size++;
    }
    //获取元素
    public Object get(Object key) {
        //增加哈希算法
        int index=key.hashCode() % 10;
        Entry e = entry[index];
        return e.getValue();
    }
    @Override
    public String toString() {
        StringBuilder sb=new StringBuilder();
        sb.append("[");
        for(int i=0;i<entry.length -1;i++)
        {
            Entry e = entry[i];
            if(e != null)
            {
                sb.append(e.getValue());
            }
            else
            {
                sb.append("null");
            }
            if(i != entry.length-1)
            {
                sb.append(",");
            }
        }
        sb.append("]");
        return sb.toString();
    }
}
测试代码
public class Demo {
    /***
     * 简单的 put get方法
     * @param args
     */
    public static void main(String[] args) {
        HashMap map=new HashMap();
        map.put("刘诗华", "罗兰");
        System.out.println(map);// [null,罗兰,null,null,null,null,null,null,null,]
        Object s = map.get("刘诗华");
        System.out.println(s);  //罗兰
    }
}
3-自己动手写HashMap 增加哈希算法的更多相关文章
- 2-自己动手写HashMap
		public class Entry { // 键 private Object key; // 值 private Object value; //构造器 public Entry(Object k ... 
- 自己动手写HashMap
		HashMap是结合队列和链表各自的优点,创造的一种在查询和修改间取得性能平衡的一种集合! MyMap接口: package self; //接口 public interface MyMap { p ... 
- 自己动手写 ASP.NET MVC 分页     part1
		学习编程也有一年半载了,从来没有自己动手写过东西,都是利用搜索软件找代码,最近偶发感慨,难道真的继续做码农??? 突发奇想是不是该自己动手写点东西,可是算法.逻辑思维都太弱了,只能copy网上的代码, ... 
- HashMap与HashTable的哈希算法——JDK1.9源码阅读总结
		下面是HashTable源码中的put方法: 注意上面注释标注的地方: HashTable对于元素在哈希表中的坐标算法是: 将对象自身的哈希值key.hashCode()变为正数:hash & ... 
- HashMap中的hash算法中的几个疑问
		HashMap中哈希算法的关键代码 //重新计算哈希值 static final int hash(Object key) { int h; return (key == null) ? 0 : (h ... 
- 手写HashMap,快手面试官直呼内行!
		手写HashMap?这么狠,面试都卷到这种程度了? 第一次见到这个面试题,是在某个不方便透露姓名的Offer收割机大佬的文章: 这--我当时就麻了,我们都知道HashMap的数据结构是数组+链表+红黑 ... 
- 【原创】自己动手写工具----XSmartNote [Beta 3.0]
		一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ... 
- 自己动手写插件底层篇—基于jquery移动插件实现
		序言 本章作为自己动手写插件的第一篇文章,会尽可能的详细描述一些实现的方式和预备知识的讲解,随着知识点积累的一点点深入,可能到了后期讲解也会有所跳跃.所以,希望知识点不是很扎实的读者或者是初学者,不要 ... 
- 自己动手写处理器之第一阶段(2)——MIPS指令集架构的演变
		将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第三篇.我尽量每周四篇 MIPS指令集架构自上世纪80年代出现后.一直在进行着更新换代,从最初的MIPS I到MIPS V,发 ... 
随机推荐
- 数学 它的内容,方法和意义 第三卷 (A. D. 亚历山大洛夫 著)
			第十五章 实变数函数论 1. 绪论 2. 集合论 3. 实数 4. 点集 5. 集合的测度 6. 勒贝格积分 第十六章 线性代数 1. 线性代数的对象和它的工具 2. 线性空间 3. 线性方程组 4. ... 
- 常用gui软件使用技巧
			xmind powerdesinger notepad++ firefox office ========================================= win10企业版安装 xm ... 
- css重难点笔记
			只有定位(static除外)的盒子才有z-index,即对静态定位,文档流和浮动设置z-index,都是无效的. 一个盒子如果未给宽度,那么被浮动,绝对定位,display:inline-block之 ... 
- spring-IOC容器(一)
			ApplicationContext 代表IOC容器(控制反转) ApplicationContext的主要实现类: ——ClassPathXmlApplicationContext:从类路径下加载配 ... 
- VS2013 未找到与约束。。。
			新建项目或打开项目时,VS2013 未找到与约束...问题: 解决方案:控制面板>程序>程序和功能 找到如下选中软件右击修复 即可(修复前需关闭VS2013) 
- VGA图像显示组成模块分析
			VGA图像显示组成模块分析 1.片上内存(FPGA RAM)充当存储器 2.静态内存(SRAM)充当存储器 3.将静态内存换为动态内存 动态内存容量大,但是即时能力不好,它无法立即响应VGA功能模块, ... 
- Python打包文件夹的方法小结(zip,tar,tar.gz等)
			本文实例讲述了Python打包文件夹的方法.分享给大家供大家参考,具体如下: 一.zip ? 1 2 3 4 5 6 7 8 9 10 11 import os, zipfile #打包目录为zip文 ... 
- 【react】---Immutable的基本使用
			一.Immutable简介 Immutable Data 就是一旦创建,就不能再被更改的数据.对 Immutable 对象的任何修改或添加删除操作都会返回一个新的 Immutable 对象.Immut ... 
- Configure Virtual Serial Port Driver  (vspd)注册表
			[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSBC7\Ports\COM3COM4] “Port1”=”COM3” “Port2”=” ... 
- ios的并发队列控制库
			QSDispatchQueue,在这里 
