Skip to content
This repository was archived by the owner on Feb 10, 2021. It is now read-only.

Commit c77c2f6

Browse files
committed
Replace Random with ThreadLocalRandom
1 parent 95d8c8a commit c77c2f6

File tree

4 files changed

+13
-14
lines changed

4 files changed

+13
-14
lines changed

account-data/src/main/java/com/bobocode/data/Accounts.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
import io.codearte.jfairy.Fairy;
66
import io.codearte.jfairy.producer.person.Person;
77

8+
import java.math.BigDecimal;
89
import java.time.LocalDate;
910
import java.time.LocalDateTime;
1011
import java.util.List;
11-
import java.util.Random;
12+
import java.util.concurrent.ThreadLocalRandom;
1213

13-
import static java.math.BigDecimal.valueOf;
1414
import static java.util.stream.Collectors.toList;
1515
import static java.util.stream.IntStream.range;
1616

@@ -29,10 +29,10 @@ static List<Account> getAccountList(int size) {
2929
}
3030

3131
static CreditAccount getCreditAccount() {
32-
Random random = new Random();
3332
CreditAccount creditAccount = new CreditAccount();
3433
initializeFakeFields(creditAccount);
35-
creditAccount.setCreditBalance(valueOf(random.nextInt(100_000)));
34+
int intBalance = ThreadLocalRandom.current().nextInt(100_000);
35+
creditAccount.setCreditBalance(BigDecimal.valueOf(intBalance));
3636

3737
return creditAccount;
3838
}
@@ -47,7 +47,6 @@ static List<CreditAccount> getCreditAccountsList(int size) {
4747
private static void initializeFakeFields(Account account) {
4848
Fairy fairy = Fairy.create();
4949
Person person = fairy.person();
50-
Random random = new Random();
5150

5251
account.setFirstName(person.getFirstName());
5352
account.setLastName(person.getLastName());
@@ -56,7 +55,8 @@ private static void initializeFakeFields(Account account) {
5655
person.getDateOfBirth().getYear(),
5756
person.getDateOfBirth().getMonthOfYear(),
5857
person.getDateOfBirth().getDayOfMonth()));
59-
account.setBalance(valueOf(random.nextInt(200_000)));
58+
int intBalance = ThreadLocalRandom.current().nextInt(200_000);
59+
account.setBalance(BigDecimal.valueOf(intBalance));
6060
account.setCreationDate(LocalDateTime.now());
6161
}
6262
}

lambdas/src/main/java/com/bobocode/PredefinedInterfacePrimitives.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.bobocode;
22

3-
import java.util.Random;
3+
import java.util.concurrent.ThreadLocalRandom;
44
import java.util.function.DoubleSupplier;
55
import java.util.function.IntToDoubleFunction;
66
import java.util.function.LongBinaryOperator;
@@ -16,7 +16,7 @@ public static void main(String[] args) {
1616
}
1717

1818
private static void printRandomDoubleUsingSupplier() {
19-
DoubleSupplier doubleSupplier = () -> new Random().nextDouble();
19+
DoubleSupplier doubleSupplier = () -> ThreadLocalRandom.current().nextDouble();
2020

2121
System.out.println("Random double: " + doubleSupplier.getAsDouble());
2222
}

lambdas/src/main/java/com/bobocode/PredefinedInterfacesExamples.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.bobocode.data.Accounts;
44
import com.bobocode.model.Account;
55

6-
import java.util.Random;
6+
import java.util.concurrent.ThreadLocalRandom;
77
import java.util.function.*;
88
import java.util.stream.IntStream;
99

@@ -21,7 +21,7 @@ public static void main(String[] args) {
2121
}
2222

2323
private static void printARandomNumberUsingIntegerSupplier() {
24-
IntSupplier integerSupplier = () -> new Random().nextInt(1000);
24+
IntSupplier integerSupplier = () -> ThreadLocalRandom.current().nextInt(1000);
2525

2626
System.out.println("\nNext random value: " + integerSupplier.getAsInt());
2727
}
@@ -42,7 +42,7 @@ private static void calculate3xValueUsingIntegerFunction() {
4242

4343
private static void checkIfNumberIsPositiveUsingIntegerPredicate() {
4444
IntPredicate isPositive = n -> n > 0;
45-
int b = new Random().nextInt();
45+
int b = ThreadLocalRandom.current().nextInt();
4646

4747
System.out.println("\n" + b + " is " + (isPositive.test(b) ? "positive" : "negative"));
4848
}

optional/src/main/java/com/bobocode/OptionalReturningMethod.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import java.util.List;
77
import java.util.Optional;
8-
import java.util.Random;
8+
import java.util.concurrent.ThreadLocalRandom;
99

1010
public class OptionalReturningMethod {
1111
public static void main(String[] args) {
@@ -20,8 +20,7 @@ public static void main(String[] args) {
2020
* as a returning-value in favor of null
2121
*/
2222
private static Optional<Account> findLuckyGuy(List<Account> accounts) {
23-
Random random = new Random();
24-
int luckyIndex = random.nextInt(accounts.size() * 3);
23+
int luckyIndex = ThreadLocalRandom.current().nextInt(accounts.size() * 3);
2524
if (luckyIndex < accounts.size()) {
2625
return Optional.of(accounts.get(luckyIndex));
2726
} else {

0 commit comments

Comments
 (0)