今天和大家简单介绍 JAVA 中常见的 Map 类型,可以根据业务场景选择适合自己的 Map,每种 Map类型的详细用法请参考 JDK 文档。
1.HashMap
查找效率高,但容器内部的元素是无序的,在取出的时候无法保证其插入顺序。
public static void main(String[] args) {
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("Tom", 1);
hashMap.put("Bob", 2);
hashMap.put("Jack", 3);
hashMap.put("Andy", 4);
hashMap.put("Lucy", 5);
Set<String> strings = hashMap.keySet();
for (String str : strings) {
System.out.println(str + " " + hashMap.get(str));
}
}
Tom 1
Bob 2
Lucy 5
Jack 3
Andy 4
2.HashTable
HashTable 用法与 HashMap 基本一致,是 JDK 早期提供的 Hash 算法容器结构,其内部的方法都实现了同步机制,在性能上不及 HashMap 。当不需要考虑线程安全的前提下,更推荐使用 HashMap 。
public static void main(String[] args) {
Hashtable<String, Integer> hashtable = new Hashtable<>();
hashtable.put("Tom", 1);
hashtable.put("Bob", 2);
hashtable.put("Jack", 3);
hashtable.put("Andy", 4);
hashtable.put(