Java中自写Map
来源:互联网 发布:买火车票12306软件 编辑:程序博客网 时间:2024/04/27 20:13
Map的底层实现是数组加链表
配合LinkedList看吧http://blog.csdn.net/jav_zhangwei/article/details/75577972
package tk.zhangwei.collection;import java.util.LinkedList;/*** * map的底层实现是:数组加链表 * @author zw * */public class SxtMap02 { LinkedList[] arr = new LinkedList[999]; int size; public void put(Object key,Object value){ SxtEntry e = new SxtEntry(key, value); int a = key.hashCode()%999; if(arr[a] == null){ LinkedList list = new LinkedList(); arr[a] = list; list.add(e); }else{ LinkedList list = arr[a]; for(int i =0;i<list.size();i++){ SxtEntry e2 = (SxtEntry) list.get(i); if(e2.key.equals(key)){ e2.value = value;//键值重复直接覆盖 return; } } arr[a].add(e); } } public Object get(Object key){ int a = key.hashCode()%999; if(arr[a] !=null){ LinkedList list =arr[a]; for(int i=0;i<list.size();i++){ SxtEntry e = (SxtEntry)list.get(i); if(e.key.equals(key)){ return e.value; } } } return null; } public static void main(String[] args){ SxtMap02 list = new SxtMap02(); list.put("zzz", new wife("oooo")); list.put("bbb", new wife("eeee")); list.put("ccc", new wife("wwww")); list.put("ddd", new wife("ssss")); wife w = (wife) list.get("ccc"); System.out.println(w.name); }}
阅读全文
1 0
- Java中自写Map
- Java中自写HashSet
- Java中自写ArrayList容器
- java自写爬虫中常用方法封装
- Java中自写LinkedList,掌握底层结构
- java 自写的计算器
- 自写java API文档
- EasyUI中通过id获取不知道具体类型表单控件的值,通过自写map实现
- Java中List Set Map的区别(转载自网络)
- java中Map类
- java中Map类
- java.util 中 map
- java中Map类
- java中Map类
- java中Map类
- JAVA中MAP类
- java中map排序
- java 中 Map遍历
- 游戏盾的三次技术演进
- 杭电1195 搜索
- 动态内存管理
- Java去除路径中“%20”,开头的“/”
- 关于配置flume-ng负载均衡
- Java中自写Map
- Git 中文文件名乱码
- Python和微信之获取好友昵称并制作wordcloud
- 如何在hbase中快速插入10万条数据
- mysql定时器
- iOS开发——Swift和OC混合开发
- 计算机网络协议相关(TCP/IP,UDP,HTTP协议)
- ubuntu常用命令
- Android-6.0动态权限