zoukankan      html  css  js  c++  java
  • Java基于二维数组自定义的map

    直接上代码作为记录:

    package com.example.demo.day4.test1;
    
    import java.util.regex.MatchResult;
    
    /**
     *  @Author: caesar
     *  @Date:2020年12月22日 14:12:04
     *  @Description: 自己定义的map
     */
    public class MyMap<K,V>{
        public static void main(String[] args) {
            MyMap<String,Object> myMap = new MyMap<String, Object>(10);
            myMap.put("name","wsq");
            myMap.put("age",13);
            myMap.put("length",185);
            myMap.put("name","ZS");
            System.out.println(myMap.toString());
            System.out.println(myMap.get("age"));
        }
        private Object array[][];
        private int index = 0;
        // 初始化数组长度
        public MyMap(int length){
            array = new Object[length][2];
        }
        // 添加数据
        public void put(K key, V value){
            // 重复值直接进行覆盖
                for(int i = 0; i < index; i++){
                    if(array[i][0].equals(key)){
                        array[i][1] = value;
                        return;
                    }
                }
            if(index >= array.length){
                throw new ArrayIndexOutOfBoundsException();
            }
            array[index++] = new Object[]{key,value};
        }
        // 获取数据
        public V get(K key){
            V value = null;
            for(int i = 0; i < index; i++){
                if(array[i][0].equals(key)){
                    value = (V) array[i][1];
                }
            }
            return value;
        }
    
        /**
         *  @Author: caesar
         *  @Date:2020年12月22日 14:12:59
         *  @Description: 输出值
         */
        public String toString(){
            StringBuffer stringBuffer = new StringBuffer();
            for(int i = 0; i < index; i++){
                stringBuffer.append(array[i][0]);
                stringBuffer.append(":");
                stringBuffer.append(array[i][1]);
                stringBuffer.append("
    ");
            }
            return stringBuffer.toString();
        }
    }
  • 相关阅读:
    c语言程序设计(学生成绩管理系统)————提供给计算机系c语言初学者参考
    C语言之指针排序
    C语言之冒泡法一
    C语言之统计字符
    C语言之while输出菱形
    C语言之do_while输出菱形
    C语言之素数的判断
    C语言之输出菱形
    基于RT-THREAD的定时鱼缸喂食器设计
    dx/dy=1/y’求其二阶导
  • 原文地址:https://www.cnblogs.com/mcjhcnblogs/p/14173452.html
Copyright © 2011-2022 走看看