mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-09 02:25:20 +00:00
perf[cow]: CopyOnWriteHashMap equals and hashcode
This commit is contained in:
@@ -89,7 +89,7 @@ public class MapTest {
|
||||
bagMap.put("bag3", bagItem3);
|
||||
bagMap.put("bag4", null);
|
||||
|
||||
var map = new HashMap<String, Map<String, String>>();
|
||||
var map = new CopyOnWriteHashMap<String, Map<String, String>>();
|
||||
map.put("a", Map.of("b", "b"));
|
||||
entity.setBaseMap(map);
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ public class MapEntity implements IEntity<Long> {
|
||||
private CopyOnWriteHashMap<Long, CopyOnWriteHashMap<Integer,Integer>> copyOnWriteHashMap = new CopyOnWriteHashMap<>();
|
||||
private Map<String, BagItem> bagMap = new HashMap<>();
|
||||
|
||||
private Map<String, Map<String, String>> baseMap = new HashMap<>();
|
||||
private CopyOnWriteHashMap<String, Map<String, String>> baseMap = new CopyOnWriteHashMap<>();
|
||||
|
||||
private Map<Long, String> longStringMap = new HashMap<>();
|
||||
private Map<Integer, String> intStringMap = new HashMap<>();
|
||||
@@ -101,11 +101,11 @@ public class MapEntity implements IEntity<Long> {
|
||||
this.bagMap = bagMap;
|
||||
}
|
||||
|
||||
public Map<String, Map<String, String>> getBaseMap() {
|
||||
public CopyOnWriteHashMap<String, Map<String, String>> getBaseMap() {
|
||||
return baseMap;
|
||||
}
|
||||
|
||||
public void setBaseMap(Map<String, Map<String, String>> baseMap) {
|
||||
public void setBaseMap(CopyOnWriteHashMap<String, Map<String, String>> baseMap) {
|
||||
this.baseMap = baseMap;
|
||||
}
|
||||
|
||||
|
||||
+5
-8
@@ -270,15 +270,12 @@ public class ConcurrentArrayList<E> implements List<E> {
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == null) {
|
||||
return false;
|
||||
lock.lock();
|
||||
try {
|
||||
return list.equals(o);
|
||||
} finally {
|
||||
lock.unlock();
|
||||
}
|
||||
|
||||
if (this != o) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return list.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+10
@@ -133,4 +133,14 @@ public class CopyOnWriteHashMap<K, V> implements Map<K, V> {
|
||||
public Set<Entry<K, V>> entrySet() {
|
||||
return map.entrySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
return map.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return map.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
+10
@@ -137,4 +137,14 @@ public class CopyOnWriteHashMapLongObject<V> implements Map<Long, V> {
|
||||
public Set<Entry<Long, V>> entrySet() {
|
||||
return map.entrySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
return map.equals(o);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return map.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user