Java HashMap示例

时间:2020-02-23 14:37:09  来源:igfitidea点击:

数组的项存储为有序集合,我们可以通过索引访问它们。另一方面,Java中的HashMap类将项存储在组对中,key/value.它们可以通过另一种类型的索引访问。此类不保证随着时间的推移会有一个固定的顺序。HashMap为基本操作(如get和put)提供恒定的时间性能,前提是它的实现正确。就像HashSet类一样,HashMap有*initial capacity和load factor。capacity是哈希表中的bucket数,load factor只是一个度量哈希表在容量自动增加之前可以达到的完整程度。与HashSet一样,默认的加载因子是0.75.

为什么HashMap很重要很有用

由于其键/值对,因此很容易组织数据。

HashMap允许1个空键和多个空值。

HashMap不允许重复键,但允许重复值。

HashMap扩展了抽象类AbstractMap。

HashMap中的构造函数摘要

HashMap():使用默认初始容量16和默认加载因子0.75初始化空哈希映射。

HashMap(intinitialcapacity):使用指定的初始容量和默认加载因子0.75初始化空的HashMap。

HashMap(int initialCapacity,float loadFactor):使用指定的初始容量和加载因子初始化空的HashMap。

HashMap(Map<?扩展K?extends V>m):使用与指定映射相同的映射初始化新的HashMap。

HashMap类中的方法

void clear():删除此映射中的所有映射。

Object clone():克隆另一个HashMap,但是键和值本身不会被克隆。

boolean containsKey(Object key):如果key在哈希映射中,则返回true,否则返回false。

boolean containsValue(Object value):如果值在哈希映射中的任何键中,则返回true,否则返回false。

V get(Object key):返回指定键映射到的值,如果该映射不包含该键的映射,则返回null。

boolean isEmpty():如果映射不包含元素,则返回true。

V put(K键,V value):将指定值添加到指定键。

V remove(Object key):从哈希映射中移除键。

V replace(K key,V value):仅当指定键当前映射到某个值时才替换该项。

int size():返回此映射中键值对的数目。

HashMap的基本方法操作,以及它们如何工作和相互作用

import java.util.HashMap;

public class HashMapExample {
public static void main(String[] args) {
  HashMap<String, String> animals = new HashMap<String, String>();

  //putting a key-value pairs within a HashMap
  //animal -> name
  animals.put("Elephant", "Dicky");
  animals.put("Tiger", "Sammy");
  animals.put("Lion", "Sim");

  System.out.println(animals); 

  //accessing an item using get()
  //gives back the value to the specified key, which means it will return back "Sim"
  System.out.println("The name of 'Lion' is: " + animals.get("Lion");

  //removing an item using remove()
  animals.remove("Elephant");

  //getting the size of the hash map
  System.out.println("The size of the hash map before clearing: " + animals.size());

  //clearing/deleting a whole hash map using clear()
  animals.clear()

  //getting the size of the hash map
  System.out.println("The size of the hash map after clearing: " + animals.size());
}
}

输出

[Lion=Sam, Tiger=Sammy, Elephant=Dicky]
The name of 'Lion' is: Sam
The size of the hash map before clearing: 2
The size of the hash map after clearing: 0