Java 中的 HashMap 类函数

首页 / Java入门教程 / Java 中的 HashMap 类函数

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

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

Sr.No.Constructor & Remark
1

HashMap()

此构造函数构造一个默认的HashMap。

2

HashMap(Map m)

该构造函数通过使用给定Map对象 m 的元素来初始化哈希图。

无涯教程网

3

HashMap(int capacity)

此构造函数将哈希Map的容量初始化为给定的整数值,容量。

4

HashMap(int capacity,float fillRatio)

此构造函数使用其参数初始化哈希图的容量和填充率。

除了从其父类继承的方法之外,HashMap还定义了以下方法-

Sr.No.Method & Remark
1

void clear()

从该Map中删除所有Map。

2

Object clone()

返回此HashMap的浅拷贝:键和值本身不会被克隆。

3

boolean containsKey(Object key)

如果此Map包含指定键的Map,则返回true。

4

boolean containsValue(Object value)

如果此Map将一个或多个键Map到指定值,则返回true。

5

Set entrySet()

返回此Map中包含的Map的集合视图。

6

Object get(Object key)

返回此标识哈希Map中指定键所Map到的值;如果该Map不包含此键的Map,则返回null。

7

boolean isEmpty()

如果此Map不包含键值Map,则返回true。

8

Set keySet()

返回此Map中包含的键的设置视图。

9

Object pub(Object key,Object value)

将指定值与该Map中的指定键相关联。

10

putAll(Map m)

将所有Map从指定Map复制到此Map。

11

Object remove(Object key)

如果存在,则从此Map中删除此键的Map。

12

int size()

返回此Map中的键值Map数。

13

Collection values()

返回此Map中包含的值的集合视图。

HashMap示例

以下程序说明了此集合支持的几种方法-

import java.util.*;
public class HashMapDemo {

   public static void main(String args[]) {
   
      //Create a hash map
      HashMap hm=new HashMap();
      
      //Put elements to the map
      hm.put("Learnfk", new Double(3434.34));
      hm.put("Mahnaz", new Double(123.22));
      hm.put("Ayan", new Double(1378.00));
      hm.put("Daisy", new Double(99.22));
      hm.put("Qadir", new Double(-19.08));
      
      //Get a set of the entries
      Set set=hm.entrySet();
      
      //Get an iterator
      Iterator i=set.iterator();
      
      //Display elements
      while(i.hasNext()) {
         Map.Entry me=(Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      //Deposit 1000 into Learnfk's account
      double balance=((Double)hm.get("Learnfk")).doubleValue();
      hm.put("Learnfk", new Double(balance + 1000));
      System.out.println("Learnfk's new balance: " + hm.get("Learnfk"));
   }
}

这将产生以下输出-

Daisy: 99.22
Ayan: 1378.0
Learnfk: 3434.34
Qadir: -19.08
Mahnaz: 123.22

Learnfk's new balance: 4434.34

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

10x程序员工作法 -〔郑晔〕

NLP实战高手课 -〔王然〕

Vim 实用技巧必知必会 -〔吴咏炜〕

手把手带你写一门编程语言 -〔宫文学〕

业务开发算法50讲 -〔黄清昊〕

深入浅出分布式技术原理 -〔陈现麟〕

商业思维案例笔记 -〔曹雄峰〕

Vue 3 企业级项目实战课 -〔杨文坚〕

PPT设计进阶 · 从基础操作到高级创意 -〔李金宝(Bobbie)〕

好记忆不如烂笔头。留下您的足迹吧 :)