直接上代码作为记录:
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(); } }