From 350ef52cd76955102f52df891915001e8c514095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=93=E5=8F=91=E5=8F=97=E9=95=BF=E7=94=9F?= Date: Mon, 14 May 2018 20:53:38 +0800 Subject: [PATCH] HashMap --- source/_posts/Java/HashMap的工作原理.md | 94 ++++++++++++++++++ .../2.1、shell编程(2)-从入门到重新入门.md | 13 ++- source/images/Java/HashMap1.png | Bin 0 -> 20533 bytes source/images/Java/HashMap2.png | Bin 0 -> 21071 bytes 4 files changed, 102 insertions(+), 5 deletions(-) create mode 100644 source/_posts/Java/HashMap的工作原理.md create mode 100644 source/images/Java/HashMap1.png create mode 100644 source/images/Java/HashMap2.png diff --git a/source/_posts/Java/HashMap的工作原理.md b/source/_posts/Java/HashMap的工作原理.md new file mode 100644 index 0000000..bf73df2 --- /dev/null +++ b/source/_posts/Java/HashMap的工作原理.md @@ -0,0 +1,94 @@ +--- +title: HashMap的工作原理 +date: 2018-5-14 20:48:49 +categories: + - Java +--- +为了验证HashMap的工作原理 , 先创建一个JavaBean实体类 + +```java +public class Country { + String name; + long population; + + public Country(String name, long population) { + this.name = name; + this.population = population; + } + + @Override + public int hashCode() { + if (this.name.length() % 2 == 0) + return 31; + else + return 95; + } + + @Override + public boolean equals(Object obj) { + + Country other = (Country) obj; + if (name.equalsIgnoreCase(other.name)) + return true; + return false; + } +} +``` +需要注意的是这个类重写了hashCode和equals方法 +hashCode方法在name字符串的长度为奇数和偶数的时候会返回不同的常数值 +equals方法则是忽略大小写比较name属性是否相同 + +调试执行以下代码 +```java +public static void main(String[] args) { + Country india = new Country("India", 1000); + Country japan = new Country("Japan", 10000); + + Country france = new Country("France", 2000); + Country russia = new Country("Russia", 20000); + + HashMap countryCapitalMap = new HashMap(); + countryCapitalMap.put(india, "Delhi"); + countryCapitalMap.put(japan, "Tokyo"); + countryCapitalMap.put(france, "Paris"); + countryCapitalMap.put(russia, "Moscow"); + + Iterator countryCapitalIter = countryCapitalMap.keySet().iterator(); + while (countryCapitalIter.hasNext()) { + Country countryObj = countryCapitalIter.next(); + String capital = countryCapitalMap.get(countryObj); + System.out.println(countryObj.getName() + "----" + capital); + } +} +``` +![HashMap1](/images/Java/HashMap1.png) + +发现这个Map当中存在4个Entry ( 一组键值对构成的对象 ) +但是在table这个存放Entry的数组当中只有两个位置有数据 +这两个位置上又分别使用链表的结构存放了两个Entry +![HashMap2](/images/Java/HashMap2.png) + +由上述现象可以总结出 +HashMap是一个由数组和链表结合构成的复合型的数据结构 +**某一个Entry存放在哪个数组索引上 , 是由该键的hashCode方法的返回值决定的** +如果两个键存在相同的哈希值( 也称为哈希冲突 ) , 那么将保存在同一个索引上面 , 以链表的形式存在 +当向这个链表末尾追加元素时 , 需要对这个链表进行迭代 +**在这个迭代过程中 , 会使用键的equals方法进行比较 , 如果在某个链表节点上获得了true的结果** +**那么新的Entry会替换掉这个原有的链表节点** +**如果遍历该链表后没有发现重复的元素 , 那么该Entry将追加到该链表末尾** + +所以当向Map当中存放数据的时候 , "键"的对象最好是一个不可变的对象 +但是对象本身是否可变并不是问题的关键 +而是该对象是否会产生稳定的哈希值 ( 也就是hashCode方法的返回值 ) +如果某些因素导致了哈希值的变化 , 虽然该元素仍然在Map当中存在 +但是已经无法用get方法拿到其对应的值 + +总结 + +* HashMap有一个叫做Entry的内部类,它用来存储key-value对。 +* 上面的Entry对象是存储在一个叫做table的Entry数组中。 +* table的索引在逻辑上叫做“桶”(bucket),它存储了链表的第一个元素。 +* key的hashcode()方法用来找到Entry对象所在的桶。 +* 如果两个key有相同的hash值,他们会被放在table数组的同一个桶里面。 +* key的equals()方法用来确保key的唯一性。 +* value对象的equals()和hashcode()方法根本一点用也没有。 diff --git a/source/_posts/linux/2.1、shell编程(2)-从入门到重新入门.md b/source/_posts/linux/2.1、shell编程(2)-从入门到重新入门.md index d499140..b9ae9d5 100644 --- a/source/_posts/linux/2.1、shell编程(2)-从入门到重新入门.md +++ b/source/_posts/linux/2.1、shell编程(2)-从入门到重新入门.md @@ -113,10 +113,10 @@ fi |运算符|含义|其他表示方式|备注| |-----|---|---------| -|-eq|是否相等|==| -|-ne|是否不相等|!=| -|-gt|大于|>| -|-lt|小于|<| +|-eq|是否相等|==|| +|-ne|是否不相等|!=|| +|-gt|大于|>|| +|-lt|小于|<|| |-ge|大于等于|\>=|使用\>=需要使用(( ))| |-le|小于等于|<=|使用<=需要使用(( ))| ```bash @@ -133,11 +133,13 @@ fi > 关系运算符只能用于整数 , 或者能够解析为整数的字符串 #### 布尔运算 + |运算符|含义|其他表示方式| |-----|----|---------| |!|非|| -|-o|或|\|\|| +|-o|或|||| |-a|与|&&| + ```bash # a小于10 并且 b大于20 if [ $a -lt 10 -a $b -gt 20 ] @@ -192,6 +194,7 @@ fi ### 文件测试运算符 一个字符串也可以表示一个文件(目录)的路径 使用这些方式可以获得这个文件的各种信息 + |运算符|含义| |------|----| |-b file |检测文件是否是块设备文件,如果是,则返回 true| diff --git a/source/images/Java/HashMap1.png b/source/images/Java/HashMap1.png new file mode 100644 index 0000000000000000000000000000000000000000..5feebaa406a9082911c0e2b9d5010f27bcd83e69 GIT binary patch literal 20533 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