出现背景
1 线程不安全的HashMap
因为多线程环境下,使用Hashmap进行put操作会引起死循环(infinite loop),导致CPU利用率接近100%(【Java】集合类 - HashMap 的并发问题),所以在并发情况下不能使用HashMap。
2 效率低下的HashTable容器
HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。
因为多线程环境下,使用Hashmap进行put操作会引起死循环(infinite loop),导致CPU利用率接近100%(【Java】集合类 - HashMap 的并发问题),所以在并发情况下不能使用HashMap。
HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。
Posted by Wei on 2019-03-18, Last Modified on 2023-02-28
Map接口以按键-值对(key-value)的形式存储数据,这里要特别说明,Map.Entry是Map的内部类,它用来描述Map中一个的键-值对(key-value)。
...Posted by Wei on 2019-03-18, Last Modified on 2023-02-28
这是最常见的并且在大多数情况下也是最可取的遍历方式,在键值都需要时使用。
...Posted by Wei on 2019-03-18, Last Modified on 2023-02-28
集合框架(均实现了Collection接口)有自己的接口和实现,主要分为Set接口,List接口和Queue接口。
...Posted by Wei on 2019-03-15, Last Modified on 2023-02-28
Set接口继承于Collection接口,是一个不允许出现重复元素,并且无序的集合,主要有HashSet和TreeSet两大实现类。
...Posted by Wei on 2019-03-15, Last Modified on 2023-02-28