Commit 155d883b authored by liujiahua123123's avatar liujiahua123123

SynchronizedLinkedListMap

parent 5fd84411
package net.mamoe.mirai.utils.config;
import org.jetbrains.annotations.Nullable;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.SortedMap;
public class MiraiConfigSection<T> extends MiraiSynchronizedLInkedListMap<String, T> {
public class MiraiConfigSection<T> extends MiraiSynchronizedLinkedListMap<String, T> {
public MiraiConfigSection(){
......
......@@ -6,10 +6,13 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.*;
import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
public class MiraiSynchronizedLInkedListMap<K,V> extends AbstractMap<K,V> {
public class MiraiSynchronizedLinkedListMap<K,V> extends AbstractMap<K,V> {
public MiraiSynchronizedLInkedListMap(){
public MiraiSynchronizedLinkedListMap(){
this.sortedMap = Collections.synchronizedMap(new LinkedHashMap<>());
}
......@@ -88,6 +91,65 @@ public class MiraiSynchronizedLInkedListMap<K,V> extends AbstractMap<K,V> {
return this.sortedMap.toString();
}
@Override
public V getOrDefault(Object key, V defaultValue) {
return this.sortedMap.getOrDefault(key,defaultValue);
}
@Override
public void forEach(BiConsumer<? super K, ? super V> action) {
this.sortedMap.forEach(action);
}
@Override
public boolean replace(K key, V oldValue, V newValue) {
return this.sortedMap.replace(key,oldValue,newValue);
}
@Nullable
@Override
public V replace(K key, V value) {
return this.sortedMap.replace(key,value);
}
@Override
public void replaceAll(BiFunction<? super K, ? super V, ? extends V> function) {
this.sortedMap.replaceAll(function);
}
@Override
public V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
return this.sortedMap.compute(key,remappingFunction);
}
@Override
public V computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction) {
return this.sortedMap.computeIfAbsent(key,mappingFunction);
}
@Override
public V computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
return this.sortedMap.computeIfPresent(key,remappingFunction);
}
@Override
public int hashCode() {
return this.sortedMap.hashCode();
}
@Nullable
@Override
public V putIfAbsent(K key, V value) {
return this.sortedMap.putIfAbsent(key,value);
}
@Override
public V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {
return this.sortedMap.merge(key,value,remappingFunction);
}
@Override
public boolean equals(Object o) {
return this.sortedMap.equals(o);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment