zoukankan      html  css  js  c++  java
  • 自定义写实现java中map中的功能(简易)

    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类

  • 相关阅读:
    两种存储思路
    越来越浅
    我了解的前端史
    关于称赞小孩
    怎么写递归
    Python笔记(十八):协程asyncio
    网络协议笔记(一):HTTP协议基础知识
    Linux笔记(三):常用命令
    算法笔记(九):二分查找
    数据结构笔记(二):栈、队列
  • 原文地址:https://www.cnblogs.com/zx931880423/p/6714771.html
Copyright © 2011-2022 走看看