模仿LinkedHashMap 实现一个线程安全的ConcurrentLinkedHashMap,
使用CopyOnWriteArrayList和ConcurrentHashMap来实现
使用场景是:项目中需要保证Map中的数据按顺序存放,一开始想到LinkedHashMap,但是
LinkedHashMap 线程不安全,所以自己实现了一个。
后面需要遍历map的时候,只需要遍历map.getKeyList(),拿到所有顺序的key就行了
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
/**
* 模仿LinkedHashMap 实现一个线程安全的ConcurrentLinkedHashMap,使得ConcurrentLinkedHashMap中的数据按顺序遍历,怎么存放就怎么取
* @param <K>
* @param <V>
*/
public class ConcurrentLinkedHashMap<K, V> extends ConcurrentHashMap<K, V> {
/**
* keyList 用于存放key的顺序
*/
private final