ConcurrentHashMap用法
ConcurrentHashMap<String,Integer> 是 Java 并发编程中的一个线程安全的哈希表,可以用来在多线程的环境中对数据进行并发操作。其中,String 表示哈希表中的键,Integer 表示哈希表中的值。
使用 ConcurrentHashMap 时,需要注意以下几点:
1.ConcurrentHashMap 是线程安全的,因此在多线程的环境下,多个线程可以同时访问 ConcurrentHashMap,而不用担心出现线程安全问题。
2.ConcurrentHashMap 与 HashMap 类似,都是通过 key-value 对来存储数据。不同的是,ConcurrentHashMap 内部使用了分段锁的技术,可以让不同的线程同时访问不同的分段,从而提高了并发读写的效率。
3.ConcurrentHashMap 的常用方法包括:
·put(key, value):将 key-value 对添加到 ConcurrentHashMap 中。
·get(key):获取指定 key 对应的 value。
·remove(key):删除指定 key 对应的 key-value 对。
·size():返回 ConcurrentHashMap 中 key-value 对的数量。
·keySet():返回 ConcurrentHashMap 中所有 key 的集合。
4.注意,ConcurrentHashMap 并不保证元素的顺序。如果需要保证顺序,可以考虑使用 LinkedHashMap。
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map.get("a")); // 1
System.out.println(map.size()); // 3
map.remove("b");
for (String key : map.keySet()) {
System.out.println(key + ": " + map.get(key));
}
资料来源:
[1]: ChatGPT