diff --git a/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentHashMapLongObject.java b/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentHashMapLongObject.java index f194eacf..0d4d0fd3 100644 --- a/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentHashMapLongObject.java +++ b/protocol/src/main/java/com/zfoo/protocol/collection/concurrent/ConcurrentHashMapLongObject.java @@ -13,11 +13,12 @@ package com.zfoo.protocol.collection.concurrent; import io.netty.util.collection.LongObjectHashMap; +import io.netty.util.collection.LongObjectMap; import java.util.*; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; -import java.util.function.BiConsumer; +import java.util.function.Consumer; /** @@ -169,15 +170,14 @@ public class ConcurrentHashMapLongObject implements Map { } } - @Override - public void forEach(BiConsumer action) { + public void forEachPrimitive(Consumer> consumer) { for (var i = 0; i < buckets; i++) { var readLock = locks[i].readLock(); var map = maps.get(i); readLock.lock(); try { for (var entry : map.entries()) { - action.accept(entry.key(), entry.value()); + consumer.accept(entry); } } finally { readLock.unlock();