back_recharge
lvxinran 2019-07-15 19:25:51 +08:00
commit b4f77dd3c3
1 changed files with 14 additions and 4 deletions

View File

@ -4,9 +4,7 @@ import com.sun.nio.sctp.PeerAddressChangeNotification;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.*;
import java.util.concurrent.ThreadLocalRandom;
@ -172,11 +170,23 @@ public class MathUtils {
return 0;
}
/**
*
* @param sourceArray
* @param randomNums
* @return
*/
public static List<Integer> randomForOneArray(int sourceArray[], int randomNums) {
List<Integer> result = new ArrayList<>();
int length = sourceArray.length;
Set<Integer> cacheIndexs = new HashSet<>();
while (randomNums>0){
result.add(sourceArray[randomInt(length)]);
int randomPos = randomInt(length);
if(cacheIndexs.contains(randomPos)){
continue;
}
cacheIndexs.add(randomPos);
result.add(sourceArray[randomPos]);
randomNums--;
}
return result;