自己实现HashMap底层代码(1)

public class MyMap {
	private int size;//数组长度
	SetObj[] arr = new SetObj[10];//设置SetObj的数组,最大数为10.
	/**
	 * set
	 * @param args
	 */
	public void set(Object key,Object value) {
		for(int i=0;i<size;i++) {
			if(arr[i].getKey().equals(key)) {
				arr[i].setValue(value);
				return;
			}
		}
		arr[size++]= new SetObj(key,value);
	}
	/**
	 * get
	 * @param args
	 */
	public Object get(Object key) {
		for(int i=0;i<size;i++) {
			if(arr[i].getKey()==key) {
				return arr[i].getValue();
			}
		}
		return null;
	}
	/**
	 * 是否包含key(value)
	 * @param args
	 */
	public boolean containsKey(Object key) {
		for(int i=0;i<size;i++) {
			if(arr[i].getKey()==key) {
				return true;
			}
		}
		return false;
	}
	public static void main(String[] args) {
		MyMap map = new MyMap();
		map.set("人", new Animal("狮子"));
		map.set("人", new Animal("老虎"));
		Animal a =(Animal)map.get("人");
		System.out.println(a.getName());
	}
}
class SetObj{
	private Object key;
	private Object value;
	public SetObj(Object key,Object value) {
		this.key = key;
		this.value = value;
	}
	public Object getKey() {
		return key;
	}
	public void setKey(Object key) {
		this.key=key;
	}
	public void setValue(Object value) {
		this.value = value;
	}
	public Object getValue() {
		return value;
	}
}
class Animal{
	private String name;
	public Animal(String name) {
		this.name=name;
	}
	public String getName() {
		return name;
	}
}

           文记:HashMap(键-值),通过一个对象调用另一个对象,实现创建一个A类,里面可以放两个对象,然后A类的对象放入数组中,再操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值