📅  最后修改于: 2023-12-03 15:16:30.732000             🧑  作者: Mango
WeakHashMap
是Java中的一种Map实现,它的key是弱引用类型的。当key对象没有被强引用持有时,垃圾回收机制可以随时回收它,这样此Key对应的Value值也会被删除掉。在一些高性能内存敏感的场景下,使用WeakHashMap
可以避免内存泄漏的问题。
WeakHashMap
的put(K key, V value)
方法用于将键值对(key, value)放入WeakHashMap
中。如果这个key已经存在,那么就用新的value值覆盖旧的value值。否则,就将这个键值对插入到map中。
以下是使用put()
方法向WeakHashMap
中插入键值对的方式:
WeakHashMap<String, Integer> map = new WeakHashMap<>();
// 添加新的键值对
map.put("one", 1);
map.put("two", 2);
map.put("three", 3);
// 如果存在,则覆盖原有的数值
map.put("three", 4);
put()
方法的返回值是插入的值的上一个映射,如果没有则为null。例如,以下示例将返回null,因为map中还没有键名为"four"的值:
Integer oldValue = map.put("four", 4);
System.out.println(oldValue); // 输出:null
但是,如果之前存在名为"three"的映射,则返回旧的数值3:
Integer oldValue = map.put("three", 4);
System.out.println(oldValue); // 输出:3
put()
方法可以向WeakHashMap
中添加键值对,如果这个key已经存在,那么就用新的value值覆盖旧的value值。否则,就将这个键值对插入到map中。put()
方法的返回值是插入的值的上一个映射,如果没有则为null。要使用WeakHashMap
,必须小心,因为key值的弱引用可能会导致遭到垃圾回收,进而导致map中的键值对被删除。