HashMap应指定初始长度

This commit is contained in:
achao 2021-11-10 20:27:33 +08:00
parent d53f1ff15e
commit 4f04bd121a
2 changed files with 9 additions and 9 deletions

View File

@ -179,7 +179,7 @@ public class CollStreamUtil {
Set<K> key = new HashSet<>(); Set<K> key = new HashSet<>();
key.addAll(map1.keySet()); key.addAll(map1.keySet());
key.addAll(map2.keySet()); key.addAll(map2.keySet());
Map<K, V> map = new HashMap<>(); Map<K, V> map = MapUtil.newHashMap(key.size());
for (K t : key) { for (K t : key) {
X x = map1.get(t); X x = map1.get(t);
Y y = map2.get(t); Y y = map2.get(t);

View File

@ -7,12 +7,12 @@ import cn.hutool.core.math.Calculator;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.security.SecureRandom;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.ParseException; import java.text.ParseException;
import java.util.Collection; import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Random;
import java.util.Set; import java.util.Set;
/** /**
@ -1362,8 +1362,8 @@ public class NumberUtil {
throw new UtilException("Size is larger than range between begin and end!"); throw new UtilException("Size is larger than range between begin and end!");
} }
Random ran = new Random(); SecureRandom ran = new SecureRandom();
Set<Integer> set = new HashSet<>(); Set<Integer> set = new HashSet<>(Math.max((int) (size / .75f) + 1, 16));
while (set.size() < size) { while (set.size() < size) {
set.add(begin + ran.nextInt(end - begin)); set.add(begin + ran.nextInt(end - begin));
} }