西维蜀黍

【Java】集合类 - Map - ConcurrentHashMap

出现背景

1 线程不安全的HashMap

因为多线程环境下,使用Hashmap进行put操作会引起死循环(infinite loop),导致CPU利用率接近100%(【Java】集合类 - HashMap 的并发问题),所以在并发情况下不能使用HashMap。

2 效率低下的HashTable容器

HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。

  ...


【Java】集合类 - Map 接口

Map接口

Map接口以按键-值对(key-value)的形式存储数据,这里要特别说明,Map.Entry是Map的内部类,它用来描述Map中一个的键-值对(key-value)。

  ...


【Java】集合类 - Map - 遍历Map对象的几种方式

方式一 - foreach 遍历键值对

这是最常见的并且在大多数情况下也是最可取的遍历方式,在键值都需要时使用。

  ...


【Java】集合类 - 集合框架

集合框架

Collection接口

集合框架(均实现了Collection接口)有自己的接口和实现,主要分为Set接口,List接口和Queue接口。

  ...


【Java】集合类 - Set 接口

Set接口

Set接口继承于Collection接口,是一个不允许出现重复元素,并且无序的集合,主要有HashSet和TreeSet两大实现类。

  ...