📜  Java中的WeakHashMap put()方法(1)

📅  最后修改于: 2023-12-03 15:16:30.732000             🧑  作者: Mango

Java中的WeakHashMap put()方法

WeakHashMap是Java中的一种Map实现,它的key是弱引用类型的。当key对象没有被强引用持有时,垃圾回收机制可以随时回收它,这样此Key对应的Value值也会被删除掉。在一些高性能内存敏感的场景下,使用WeakHashMap可以避免内存泄漏的问题。

put()方法介绍

WeakHashMapput(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中的键值对被删除。