Hash简介:
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 import java.util.Random; 5 6 public class HashMapTest { 7 8 public static void main(String[] args) { 9 testHashMapAPIs(); 10 } 11 12 private static void testHashMapAPIs() { 13 // 初始化随机种子 14 Random r = new Random(); 15 // 新建HashMap 16 HashMap map = new HashMap(); 17 // 添加操作 18 map.put("one", r.nextInt(10)); 19 map.put("one", r.nextInt(10)); 20 map.put("two", r.nextInt(10)); 21 map.put("three", r.nextInt(10)); 22 23 // 打印出map 24 System.out.println("map:" + map); 25 26 // 通过Iterator遍历key-value 27 Iterator iter = map.entrySet().iterator(); 28 while (iter.hasNext()) { 29 Map.Entry entry = (Map.Entry) iter.next(); 30 System.out.println("next : " + entry.getKey() + " - " + entry.getValue()); 31 } 32 33 // HashMap的键值对个数 34 System.out.println("size:" + map.size()); 35 36 // containsKey(Object key) :是否包含键key 37 System.out.println("contains key two : " + map.containsKey("two")); 38 System.out.println("contains key five : " + map.containsKey("five")); 39 40 // containsValue(Object value) :是否包含值value 41 System.out.println("contains value 0 : " + map.containsValue(new Integer(0))); 42 43 // remove(Object key) : 删除键key对应的键值对 44 map.remove("three"); 45 46 System.out.println("map:" + map); 47 48 // clear() : 清空HashMap 49 map.clear(); 50 51 // isEmpty() : HashMap是否为空 52 System.out.println((map.isEmpty() ? "map is empty" : "map is not empty")); 53 } 54 }
结果:
原文:https://www.cnblogs.com/xiaoyh/p/10388570.html