java 自定义map_自定义写实现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类


版权声明:本文为weixin_39928844原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。