package com.ljl.container;
/**
* 该版本为1.0,效率较低,需要循环遍历
* 自定义实现Map的功能
* @author Richard
*map:存放键值对,根据键对象找对应的值对象,键不能重复
*/
public class MyMapOne {
//使用数据来存放键值对
MyEntry[] arr=new MyEntry[999];
int size;
//放数据
public void put(Object key,Object value) {
MyEntry entry=new MyEntry(key, value);
for(int i=0;i<size;i++) {
if(arr[i].key.equals(key)){
arr[i].value=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 key) {
for(int i=0;i<size;i++) {
if(arr[i].key.equals(key)){
return true;
}
}
return false;
}
public boolean containsValue(Object value) {
for(int i=0;i<size;i++) {
if(arr[i].value.equals(value)){
return
javase之自定义实现map(重点)
最新推荐文章于 2024-08-02 18:42:00 发布
本文探讨了Map的底层实现原理,通过数组配合链表的方式进行存储。详细解析了数组中如何存储链表的头部节点地址,以及这种数据结构如何支持Map的高效操作。
摘要由CSDN通过智能技术生成