Java 中的 HashMap

java 8object oriented programmingprogramming更新于 2025/4/15 2:52:17

HashMap 类使用哈希表来实现 Map 接口。这样,即使对于大型集合,get() 和 put() 等基本操作的执行时间也能够保持不变。

以下是 HashMap 类支持的构造函数列表。

Sr.No构造函数 &说明
1HashMap( )
此构造函数构造一个默认的 HashMap。
2HashMap(Map m)
此构造函数使用给定 Map 对象 m 的元素初始化哈希映射。
3HashMap(int capacity)
此构造函数将哈希映射的容量初始化为给定的整数值 capacity。
4HashMap(int capacity, float fillRatio)
此构造函数使用其参数初始化哈希映射的容量和填充率。

示例

让我们看另一个例子 −

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

相关文章