博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java集合篇五:HashMap
阅读量:6567 次
发布时间:2019-06-24

本文共 1054 字,大约阅读时间需要 3 分钟。

1.HasMap 自定义基础版

package com.test.collection;/** * 自定义实现Map功能 * map :存放键值对,根据键对象找对应的值对象 * @author chenx * */public class MyMap001 {    Entry[] arr=new Entry[999];    int size;        public void put(Object key,Object value){        Entry e=new Entry(key,value);                //解决键重复的处理,后面的直接覆盖        for(int i=0;i

2.HasMap 自定义升级版

package com.test.collection;import java.util.LinkedList;/** * 自定义实现Map功能(升级版) * map :存放键值对,根据键对象找对应的值对象 *  * 1.提升查询效率,避免MyMap002中的循环遍历: 数组+链表 *  * hashMap:底层实现(数组+链表),链表中放对象,对象中存key,value *  * @author chenx * */public class MyMap002 {    LinkedList[] arr=new LinkedList[999];    int size;        public void put(Object key,Object value){        Entry2 e=new Entry2(key,value);        int has=key.hashCode();        has = has<0?-has:has;        int a =has%arr.length;        if(arr[a] ==null){            LinkedList list =new LinkedList();            arr[a] =list;            list.add(e);        }else{                        LinkedList list=arr[a];            for(int i=0;i

 

转载于:https://www.cnblogs.com/brant/p/6231216.html

你可能感兴趣的文章
Lync2013 恢复-整残之后如何重新安装
查看>>
SSO 单点登录会话管理
查看>>
jpa查询记录重复
查看>>
mysql-事物实现原理
查看>>
上下滚动播报特效
查看>>
iOS 隐藏导航栏整个视图上移闪屏问题
查看>>
12cR2 RAC+RAC+ADG ORA-16854
查看>>
数组名和数组名取地址的区别
查看>>
某企业WSUS服务实例介绍
查看>>
准IT工作者如何择师、如何学习
查看>>
redis主从复制故障转移
查看>>
2011,我的IT我的梦
查看>>
KVM虚拟化实践(一)
查看>>
First Unique Character in a String(leetcode387)
查看>>
计算机体系架构简析
查看>>
另类无法在ESXi上添加存储器故障
查看>>
select 下拉菜单Option对象使用add(elements,index)方法动态添加
查看>>
tomcat及负载均衡
查看>>
Linux磁盘管理(实验)
查看>>
【XXX贷】2014年10月XX日发标预告
查看>>