From 2a5e107ed56267e827e061540135f0638546fa8e Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期四, 10 四月 2025 14:24:23 +0800 Subject: [PATCH] 移除ServerInfoConfiguration配置 --- iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/util/collection/MapUtils.java | 68 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 0 deletions(-) diff --git a/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/util/collection/MapUtils.java b/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/util/collection/MapUtils.java new file mode 100644 index 0000000..921dcbe --- /dev/null +++ b/iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/util/collection/MapUtils.java @@ -0,0 +1,68 @@ +package com.iailab.framework.common.util.collection; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjUtil; +import com.iailab.framework.common.core.KeyValue; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; + +/** + * Map 工具类 + * + * @author iailab + */ +public class MapUtils { + + /** + * 从哈希表表中,获得 keys 对应的所有 value 数组 + * + * @param multimap 哈希表 + * @param keys keys + * @return value 数组 + */ + public static <K, V> List<V> getList(Multimap<K, V> multimap, Collection<K> keys) { + List<V> result = new ArrayList<>(); + keys.forEach(k -> { + Collection<V> values = multimap.get(k); + if (CollectionUtil.isEmpty(values)) { + return; + } + result.addAll(values); + }); + return result; + } + + /** + * 从哈希表查找到 key 对应的 value,然后进一步处理 + * key 为 null 时, 不处理 + * 注意,如果查找到的 value 为 null 时,不进行处理 + * + * @param map 哈希表 + * @param key key + * @param consumer 进一步处理的逻辑 + */ + public static <K, V> void findAndThen(Map<K, V> map, K key, Consumer<V> consumer) { + if (ObjUtil.isNull(key) || CollUtil.isEmpty(map)) { + return; + } + V value = map.get(key); + if (value == null) { + return; + } + consumer.accept(value); + } + + public static <K, V> Map<K, V> convertMap(List<KeyValue<K, V>> keyValues) { + Map<K, V> map = Maps.newLinkedHashMapWithExpectedSize(keyValues.size()); + keyValues.forEach(keyValue -> map.put(keyValue.getKey(), keyValue.getValue())); + return map; + } + +} -- Gitblit v1.9.3