直接上代码作为记录:
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("\n");
}
return stringBuffer.toString();
}
}