修复:RandomUtil的randomEleSet方法在某些情况下无法随机的情况

This commit is contained in:
NanCheung 2020-02-03 02:38:40 +08:00
parent 562416e90d
commit 9e620b8021

View File

@ -8,7 +8,7 @@ import java.security.SecureRandom;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import java.util.Set; import java.util.Set;
@ -366,7 +366,7 @@ public class RandomUtil {
throw new IllegalArgumentException("Count is larger than collection distinct size !"); throw new IllegalArgumentException("Count is larger than collection distinct size !");
} }
final HashSet<T> result = new HashSet<>(count); final Set<T> result = new LinkedHashSet<>(count);
int limit = source.size(); int limit = source.size();
while (result.size() < count) { while (result.size() < count) {
result.add(randomEle(source, limit)); result.add(randomEle(source, limit));