public class Entry {

    // 键
private Object key;
// 值
private Object value; //构造器
public Entry(Object key, Object value) {
super();
this.key = key;
this.value = value;
} public Object getKey() {
return key;
} public void setKey(Object key) {
this.key = key;
} public Object getValue() {
return value;
} public void setValue(Object value) {
this.value = value;
}
}
public class HashMap {

    //存储元素数组
private Entry[] entry = null; //记录map个数
private int size; //构造器
public HashMap() {
this.entry = new Entry[100];
} //增加新元素
public void put(Object key, Object value) {
Entry e = new Entry(key, value);
entry[size] = e;
size++;
} //获取元素
public Object get(Object key) {
for (int i = 0; i < size; i++) {
Entry e = entry[i];
Object k = e.getKey(); if (key.equals(k)) {
return e.getValue();
}
}
return null;
}
}

代码测试

public class Demo {

    /***
* 简单的 put get方法
* @param args
*/
public static void main(String[] args) { HashMap map=new HashMap(); map.put("刘诗华", "罗兰"); Object s = map.get("刘诗华"); System.out.println(s);
}
}

2-自己动手写HashMap的更多相关文章

  1. 3-自己动手写HashMap 增加哈希算法

    public class HashMap { //存储元素数组 private Entry[] entry = null; //记录map个数 private int size; //构造器 publ ...

  2. 自己动手写HashMap

    HashMap是结合队列和链表各自的优点,创造的一种在查询和修改间取得性能平衡的一种集合! MyMap接口: package self; //接口 public interface MyMap { p ...

  3. 自己动手写web框架----1

    本文可作为<<自己动手写struts–构建基于MVC的Web开发框架>>一书的读书笔记. 一个符合Model 2规范的web框架的架构图应该如下: Controller层的Se ...

  4. 自己动手写Android插件化框架

    自己动手写Android插件化框架 转 http://www.imooc.com/article/details/id/252238   最近在工作中接触到了Android插件内的开发,发现自己这种技 ...

  5. 自己动手写一个服务网关-java

    自己动手写一个服务网关 原文链接:https://www.cnblogs.com/bigben0123/p/9252444.html 引言 什么是网关?为什么需要使用网关? 如图所示,在不使用网关的情 ...

  6. 60行自己动手写LockSupport是什么体验?

    60行自己动手写LockSupport是什么体验? 前言 在JDK当中给我们提供的各种并发工具当中,比如ReentrantLock等等工具的内部实现,经常会使用到一个工具,这个工具就是LockSupp ...

  7. 【原创】自己动手写控件----XSmartNote控件

    一.前面的话 在上一篇博文自己动手写工具----XSmartNote [Beta 3.0]中,用到了若干个自定义控件,其中包含用于显示Note内容的简单的Label扩展控件,用于展示标签内容的labe ...

  8. 【原创】自己动手写工具----XSmartNote [Beta 3.0]

    一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了 ...

  9. 【原创】自己动手写工具----XSmartNote [Beta 2.0]

    一.前面的话 在上一篇自己动手写工具----XSmartNote中,我简单介绍了这个小玩意儿的大致界面和要实现的功能,看了一下园子里的评论,评价褒贬不一,有人说“现在那么多云笔记的工具”,“极简版ev ...

随机推荐

  1. hasura graphql-engine graphql2chartjs 方便的graphql 转换chartjs 的类库

    graphql2chartjs 是hasura graphql-engine 团队开源的方便graphql 转换为chartjs 的类库,我们可以方便的 用来进行ChartJS chart 开发 一张 ...

  2. Docker—微软微服务

    容器与Docker简介(一)——微软微服务电子书翻译系列 容器与Docker简介(二)什么是DOCKER——微软微服务电子书翻译系列 容器与Docker简介(三)Docker相关术语——微软微服务电子 ...

  3. RTSP为什么VLC播放器无法播放

    rtsp_tracepoint: rtspservice.c,RTSP_state_machine, state_machine:current state is ready state curren ...

  4. Java Bitset

    Bitset创建一种特殊的数组来保存非负整数的值 取值为true和false,初始都是false.Bitset初始化是一个long,65位,增加位数的话只能是64的整数倍. 如果用一个Bitset存储 ...

  5. KiCad 如何画板框

    KiCad 如何画板框 一块 PCB 最开始就是画板框. 设置工作到 Edge.Cuts 点菜单放置 -> 线(L) 板框画好.

  6. k8s-YAML配置文件

    一.YAML基础 YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便.它实质上是一种通用的数据串行化格式. YAML语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 ...

  7. firefox extension教程

    https://developer.mozilla.org/zh-CN/docs/Add-ons/Overlay_Extensions/XUL_School/The_Essentials_of_an_ ...

  8. ES6 中 Class 与 TypeScript 中 Class 的区别(待补充)

    ES6 中 Class 与 TypeScript 中 Class 的区别(待补充)

  9. git push文件到远程github或者gitlab

    Git global setup git config --global user.name "luozeng" git config --global user.email &q ...

  10. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 解决办法

    启动mysql 报错: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/m ...