黑马程序员技术交流社区

标题: 一个很简单的map底层(以前写的,没有写全) [打印本页]

作者: YaYa    时间: 2015-9-22 20:34
标题: 一个很简单的map底层(以前写的,没有写全)
package map;

public class TestMap {
        MapArr[] arr = new MapArr[200];
        int size;

        public int size(){
                return size;
        }
        public void put(Object key, Object value) {
                MapArr mm = new MapArr(key, value);
                arr[size++] = mm;
        }

        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 void remove(Object key) {
               
                for (int i = 0; i < size; i++) {
                        int move=size-i-1;
                        if (arr[i].key.equals(key)) {
                                System.arraycopy(arr, i+1, arr, i, move);
                                size--;
                        }
                }

        }

        public static void main(String[] args) {
                TestMap tm = new TestMap();
                tm.put("11", "22");
                tm.put("33", "44");
                tm.put("55", "66");
                tm.put("77", "88");
                String aa = (String) tm.get("11");
                //String tm1=tm;
                //tm.remove("11");
                System.out.println(tm.size);
                System.out.println(aa);
        }

}

class MapArr {
        Object key;
        Object value;

        public MapArr(Object key, Object value) {
                super();
                this.key = key;
                this.value = value;
        }

}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2