package com.jbx.hash; /** * 自定义实现Map的功能 不完美的原因是for循环影响效率 * @author Administrator *Map:存放键值对,根据键对象找对应的值对象,键不能重复 */ public class SxtMap001 { SxtEntry[] arr = new SxtEntry[990]; int size; public void put(Object key,Object value){ SxtEntry e = new SxtEntry(key,value); //解决键值唯一的问题 for (int i=0;i<size; i++){ if(arr[i].key.equals(key)){ arr[i].value = value; return ; } } arr[size++] = e; } 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 true; } } return false; } public static void main(String[] args) { SxtMap001 m = new SxtMap001(); m.put("1", "你好"); m.put("2", "拜拜"); m.put("2", "拜拜拜"); System.out.println(m.get("2"));//拜拜拜 System.out.println(m.containsKey("1"));//true System.out.println(m.containsValue("拜拜"));//false System.out.println(m.containsValue("拜拜"));//false System.out.println(m.get("2"));//拜拜拜 } } class SxtEntry{ Object key; Object value; public SxtEntry(Object key, Object value) { super(); this.key = key; this.value = value; } }
自己编写一个Map
在爱酷学习网上学习Java视频,其中有一个自己实现map的功能,这里记录一下如何实现
猜你喜欢
转载自lovemojienv.iteye.com/blog/2397587
今日推荐
周排行