Jyo*_*rup 6 java collections linkedhashset
在Java中,LinkedHashSet是使用支持HashSet创建的,使用以下LinkedHashMap构造函数创建LinkedHashMap
map = new LinkedHashMap<>(initialCapacity, loadFactor);
Run Code Online (Sandbox Code Playgroud)
现在在LinkedHashMap中,上面的构造函数依次调用
public LinkedHashMap(int initialCapacity, float loadFactor) {
super(initialCapacity, loadFactor);
accessOrder = false;
}
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以将LinkedHashSet accessOrder设置为true?这可以帮助使用LinkedHashSet创建LRU缓存实现.
从源代码中可以看到,LinkedHashSet 由 LinkedHashMap 支持,且 accessOrder 设置为 false。
此外,LinkedHashSet 没有公共构造函数来将访问顺序从插入顺序更改为访问顺序。
你可以尝试这个(只是一个例子):
LinkedHashSet<E> set = (LinkedHashSet<E>) Collections.newSetFromMap(new LinkedHashMap<>(16, 0.75f, true));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |