package test;

/**

* 通过自定义来实现一个map功能

* 存放键值对,根据键对象找到一个值对象,确保没有重复

*/

import java.util.Map;

public class test01 {

SxtEntry[] arr=new SxtEntry[990];

int size;

//定义函数实现将键值对放入数组

public void put(Object key,Object value){

SxtEntry entry=new SxtEntry(key, value);

//确保键值对的唯一行

for (int i = 0; i < size; i++) {

if (arr[i].key.equals(key)) {

arr[i].value=value;

return;

}

}

arr[size++]=entry;

}

//定义函数实现从数组中取出值

public Object get(Object key){

for (int i = 0; i < size; i++) {

if (arr[i].key.equals(key)) {

return arr[i].value;

}

}

return null;

}

//定义函数判断函数中是否有给出参数的键

public boolean containsKey(Object keyObject){

for (int i = 0; i < size; i++) {

if (arr[i].key.equals(keyObject)) {

return true;

}

}

return false;

}

//定义函数判断函数中是否有给出参数的值

public boolean containsValue(Object valueObject){

for (int i = 0; i < size; i++) {

if (arr[i].value.equals(valueObject)) {

return true;

}

}

return false;

}

//主函数进行测试

public static void main(String[] args) {

test01 entry=new test01();

entry.put("张三",new wife("小红"));

wife w =(wife)entry.get("张三");//强转将object转型成为wife类

System.out.println(w.name);

}

}

//定义存放键值对的类

class SxtEntry{

Object key;

Object value;

public SxtEntry(Object key, Object value) {

super();

this.key = key;

this.value = value;

}

//定义空构造器,便于新建对象

public SxtEntry() {

}

}

//新建一个类来实现验证

class wife{

String name;

public wife(String nameString){

this.name=nameString;

}

}

简单的自定义实现map类,有助于学习map类

java 自定义map_自定义写实现java中map中的功能(简易)相关推荐

  1. java.lang.String_自己写的java.lang.String可以让jvm加载到吗?

    git 前言 老问题了,到网上也一搜一堆答案,比如,随便来一篇 乍一看好像没什么问题,但是在掌握自定义类加载器之后,知道如何打破双亲委派之后再回头来看这段话发现有两个问题: 1:凭什么你认为我现在是A ...

  2. 控制台编写JAVA程序教程_写一个java程序的步骤是什么?写java程序技巧

    写Java程序是要按照步骤来的,这样才能写好一个java程序,那么接下来,我们就来给大家讲解一下写一个java程序的步骤是什么? (1)创建Java项目:"FileàNewàProjectà ...

  3. java map传入参数_JAVA中map中参数的添加修改

    Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map---实现Map Map.Entry--Map的内部类,描述Map中的按键/数值对. S ...

  4. java开发环境搭建--写给java新手

                 最近我遇到很多java开发的新人,包括很自认为不是新人的人根本就不会自己搭建一个完整的开发环境,因此想写此文,希对他们有所帮助,解除他们的一些开发困惑,更好的了解java. ...

  5. java biz包 怎么写,关于java dao与biz分工探讨

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这两天在纠3层开发模式主要纠结于dao与biz的分工 biz到底该不该出现SQL语句 如果biz不出现SQL语句 那么dao里的接口就不具有通用性 也就是 ...

  6. java 并发map_专用于高并发的map类-----Map的并发处理(ConcurrentHashMap)

    oncurrentModificationException 在这种迭代方式中,当iterator被创建后集合再发生改变就不再是抛出ConcurrentModificationException, 取 ...

  7. java 数据立方_写一个Java应用程序,从键盘输入一个整数,然后输出它的平方值立方值...

    这是一个跟输入/输出流有关的面试题.下面我们来分析怎么实现该功能. 解析:在java中没有像C语言那样有一个专供接收从键盘输入值的scanf函数,所以一般的做法是从键盘输入一行字符,保存到字符串s中, ...

  8. java怎么用switch写计算,java代码实例 使用switch实现简易的计算器(实现加减乘除)...

    import java.util.Scanner; /* * 使用switch实现简易的计算器(实现加减乘除); */ public class test { public static void m ...

  9. linux java 获取路径怎么写_linux中java获取路径的实例代码

    linux中java获取路径怎么写? 在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java". 在java的代码开发中 \ 是代 ...

最新文章

  1. modelsim 各版本 网盘_阿里云盘官方下载-阿里云盘最新版本 v1.0.1
  2. abstract不能和哪些关键字共存 学习
  3. SAP Data Intelligence Modeler里的Kafka Producer和Kafka Consumer
  4. LeetCode 879. 盈利计划(动态规划)
  5. python消息框设置_Python Tkinter消息框(附带实例讲解)
  6. python训练mask rcnn模型C++调用训练好的模型--基于opencv4.0(干货满满)
  7. CSDN个人主页下如何添加微信公众号?
  8. 高斯滤波 c++实现
  9. 简单的c++对象模型
  10. 小武与剑指offer的恩怨情仇
  11. 嵌入式分享合集106
  12. 如何根据vin码查询_车架号查询-VIN查询-车辆识别码查询-宜配网
  13. 把SD卡制作为启动卡的操作步骤
  14. WindowServer2012R2+Anoconda3.5.0.1+CUDA9.0+cuDNN7.1.3+Tensorflow-gpu1.6离线搭建深度学习开发环境
  15. 2021-03-10
  16. 【2022年9月】237条微信内置浏览器UA
  17. 汽车行业中XCP协议和A2L文件–XCP概述
  18. 新一代DirectX10前瞻
  19. 部门换届推文文字_第十五届院级学生干部换届大会火热进行中
  20. php文件可以用ps吗,eps是什么文件?怎么打开?用什么软件打开?EPS与PS文件的区别在哪里...

热门文章

  1. static和extern对函数的作用
  2. Android Studio 之下载安装
  3. css资源网站收集推荐
  4. PowerDesigner 导入sql脚本到MySQL乱码问题
  5. Linux常用备份恢复工具
  6. 1582年日历怎么了_【知乎周边】知乎2020年日历开箱+测评
  7. 乐学python_铁乐学python_day01-作业
  8. onnx 测试_用于ONNX的TensorRT后端
  9. java timezone_Java TimeZone useDaylightTime()方法与示例
  10. puppeteer执行js_使用Node.js和Puppeteer与表单和网页进行交互– 2