HashMap教程:15个java中HashMap的例子

129 阅读3分钟

本教程介绍了java中的HashMap基础知识、特点和15个最主要的例子。

HashMap在java中如何工作

HashMap HashMap ,是java中Map 接口的实现。 是java开发人员日常生活中常用的集合框架。

HashMap 它是 keyvalues的组合。

在大多数后端编程中,HashMap ,作为请求范围或会话范围的临时缓存来存储。

HashMap需要记住的要点

  • 存储在HashMap中的键的顺序是基于散列的。尽管顺序并不固定。
  • HashMap允许空键和空值
  • HashMap不是同步的,这意味着它不是线程安全的。
  • Hashmap是快速失败的,也就是说,如果我们在迭代HashMap的过程中修改/添加/删除任何对象,它会抛出ConcurrentModificationException

在计算哈希机制时,键是按顺序存储的。

如何用java创建HashMap对象?

HashMap提供了两个变量来创建一个对象

  • 默认构造函数a
  • 带有initialCapacity=整数的参数构造器
HashMap map=new HashMap<>();
HashMap map1=new HashMap<>(10);

上述两行中的一行创建了带有空构造函数的字符串类型的HashMap或带有整数的构造函数。

这个数字代表初始容量

如何向HashMap添加对象

HashMap 提供put 方法来存储地图中的键和值。

import java.util.HashMap;
import java.util.Map;

public class MapTest {
    public static void main(String[] args) {
        HashMap map = new HashMap<>();
        map.put("11", "oneone");
        map.put("21", "twoone");
        map.put("31", "threeone");
        map.put("41", "fourone");
        map.put("42", "fourone");

        for (Map.Entry entry : map.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + " = " + value);

        }
    }

}

重要的一点是

  • Key 不允许重复
  • value 允许重复
  • 它允许一个null 键和多个null

如何迭代HashMap的值?

HashMap提供values()方法来遍历所有的值。

Collection collection=map.values();  
 for(String str:collection){  
  System.out.print(" "+str);  
 }
```values() return the collection object which we can used in for each loop to return the each object  
out put is  
```java
twoone fourone threeone oneone

如何找出哈希姆普的大小?

size() 方法用于找出Hashmap的大小

map.size()

返回上述地图的大小为4。

如何检查HashMap中是否存在关键对象

要检查特定的key 是否存在于HashMap ,我们必须使用containsKey(Object obj)ofHashMap

如果在地图中找到key ,它将返回true ,否则它将返回false

map.containsKey("11") //return true  
map.containsKey("134") //return false  

检查HashMap中是否有值对象

为了检查特定的value 是否存在于HashMap ,我们必须使用containsValue(Object obj) ofHashMap

如果找到了value ,它将返回true ,否则将返回false

map.containsValue("oneone") //return true  
map.containsValue("cloudmap") //return false  

如何从HashMap中删除对象?

map HashMap提供了 方法,该方法将从 和 对象中删除 。remove key value HashMap

要从HashMap中删除对象,我们必须使用HashMap 的remove(Object key)方法并返回该键的值。

记住只有key 对象应该被传递给remove 方法,如果被删除,则返回该键的值,否则返回null

String value=map.remove("21");  

上面的键 "21 "在map中被找到,然后从map中移除该键和值对,并返回值对象。

如果没有找到键,则返回null。

如何从HashMap中删除所有的对象

要从map 中删除所有的keyvalue 对,使用HashMapclear() 方法。

map.clear()

在使用clear() 方法后,如果调用isEmpty() ,会返回true ,因为所有的对象已经被删除。

如何将Map键转换为Set?

要将HashMap 的键转换为set ,我们必须使用keySet ,它返回键的集合。

Set keys=map.keySet();  
 for(String str:keys){  
  System.out.print(" "+str);  
 }  

如何在java中同步化HashMap?

HashMap HashMap是不同步的。这意味着有多个线程修改一个对象的状态。但是我们可以用以下方法使HashMap成为同步的。synchronizeMap

Map synchronizedHashMap = Collections.synchronizeMap(map);  

如何用for each循环来迭代哈希马普

map.entrySet() 返回一组Map.Entry ,我们可以在for循环中使用。这将迭代每个项目并打印出HashMap的键和值。

for (Map.Entry entry : map.entrySet()) {
            String key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key + " = " + value);

}