在 Java 中初始化 HashMap
HashMap 类使用散列表来实现 Map 接口。这使得即使对于大型集合,get( ) 和 put( ) 等基本操作的执行时间也能保持恒定。
以下是 HashMap 类支持的构造函数列表。
| 序号 | 构造函数和说明 |
|---|---|
| 1 | HashMap( ) 此构造函数构造一个默认的 HashMap。 |
| 2 | HashMap(Map m) 此构造函数使用给定 Map 对象 m 的元素初始化哈希映射。 |
| 3 | HashMap(int capacity) 此构造函数将哈希映射的容量初始化为给定的整数值,capacity。 |
| 4 | HashMap(int capacity, float fillRatio) 此构造函数使用其参数初始化哈希映射的容量和填充率。 |
以下是一个示例,展示如何在 Java 中初始化和使用 HashMap −
示例
import java.util.*;
public class Demo {
public static void main(String args[]) {
HashMap<Integer, String> hashMap = new HashMap<Integer, String>(7);
hashMap.put(1, "Laptop");
hashMap.put(2, "LCD");
hashMap.put(3, "LED");
hashMap.put(4, "Desktop");
hashMap.put(5, "Laptop");
hashMap.put(6, "Notebook");
hashMap.put(7, "Mobile");
System.out.println("HashMap = " + hashMap);
}
}输出
HashMap = {1=Laptop, 2=LCD, 3=LED, 4=Desktop, 5=Laptop, 6=Notebook, 7=Mobile}我们来看另一个示例 −
示例
import java.util.*;
public class Main {
public static void main(String args[]) {
HashMap hashMap = new HashMap();
hashMap.put("John", new Integer(10000));
hashMap.put("Tim", new Integer(25000));
hashMap.put("Adam", new Integer(15000));
hashMap.put("Katie", new Integer(30000));
hashMap.put("Jacob", new Integer(45000));
hashMap.put("Steve", new Integer(23000));
hashMap.put("Nathan", new Integer(25000));
hashMap.put("Amy", new Integer(27000));
Set set = hashMap.entrySet();
Iterator iterator = set.iterator();
while(iterator.hasNext()) {
Map.Entry map = (Map.Entry)iterator.next();
System.out.print(map.getKey() + ": ");
System.out.println(map.getValue());
}
System.out.println();
System.out.println("Size of IdentintyHashMap: "+hashMap.size());
int bonus = ((Integer)hashMap.get("Amy")).intValue();
hashMap.put("Amy", new Integer(bonus + 5000));
System.out.println("Amy's salary after bonus = " + hashMap.get("Amy"));
int deductions = ((Integer)hashMap.get("Steve")).intValue();
hashMap.put("Steve", new Integer(deductions - 3000));
System.out.println("Steve's salary after deductions = " + hashMap.get("Steve"));
}
}输出
Adam: 15000 Nathan: 25000 Katie: 30000 Steve: 23000 John: 10000 Tim: 25000 Amy: 27000 Jacob: 45000 Size of IdentintyHashMap: 8 Amy's salary after bonus = 32000 Steve's salary after deductions = 20000
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP