mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix upsert
This commit is contained in:
@@ -2343,11 +2343,7 @@ public class CollUtil {
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <K, V> ArrayList<V> valuesOfKeys(Map<K, V> map, K... keys) {
|
||||
final ArrayList<V> values = new ArrayList<>();
|
||||
for (K k : keys) {
|
||||
values.add(map.get(k));
|
||||
}
|
||||
return values;
|
||||
return MapUtil.valuesOfKeys(map, new ArrayIter<>(keys));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2377,11 +2373,7 @@ public class CollUtil {
|
||||
* @since 3.0.9
|
||||
*/
|
||||
public static <K, V> ArrayList<V> valuesOfKeys(Map<K, V> map, Iterator<K> keys) {
|
||||
final ArrayList<V> values = new ArrayList<>();
|
||||
while (keys.hasNext()) {
|
||||
values.add(map.get(keys.next()));
|
||||
}
|
||||
return values;
|
||||
return MapUtil.valuesOfKeys(map, keys);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------------- sort
|
||||
|
@@ -1354,4 +1354,23 @@ public class MapUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 从Map中获取指定键列表对应的值列表<br>
|
||||
* 如果key在map中不存在或key对应值为null,则返回值列表对应位置的值也为null
|
||||
*
|
||||
* @param <K> 键类型
|
||||
* @param <V> 值类型
|
||||
* @param map {@link Map}
|
||||
* @param keys 键列表
|
||||
* @return 值列表
|
||||
* @since 5.7.20
|
||||
*/
|
||||
public static <K, V> ArrayList<V> valuesOfKeys(Map<K, V> map, Iterator<K> keys) {
|
||||
final ArrayList<V> values = new ArrayList<>();
|
||||
while (keys.hasNext()) {
|
||||
values.add(map.get(keys.next()));
|
||||
}
|
||||
return values;
|
||||
}
|
||||
}
|
||||
|
@@ -4,6 +4,7 @@ import cn.hutool.core.comparator.ComparableComparator;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.lang.Dict;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
@@ -302,6 +303,14 @@ public class CollUtilTest {
|
||||
Assert.assertEquals(CollUtil.newArrayList("b", "c"), filtered);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterSetTest() {
|
||||
Set<String> set = CollUtil.newLinkedHashSet("a", "b", "", " ", "c");
|
||||
Set<String> filtered = CollUtil.filter(set, StrUtil::isNotBlank);
|
||||
|
||||
Assert.assertEquals(CollUtil.newLinkedHashSet("a", "b", "c"), filtered);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void filterRemoveTest() {
|
||||
ArrayList<String> list = CollUtil.newArrayList("a", "b", "c");
|
||||
|
Reference in New Issue
Block a user