RFR: 8294693: Add Collections.shuffle overload that accepts RandomGenerator interface
Tagir F. Valeev
tvaleev at openjdk.org
Sat Oct 1 08:16:56 UTC 2022
Java 17 added RandomGenerator interface. However, existing method Collections.shuffle accepts old java.util.Random class. While since Java 19, it's possible to use Random.from(RandomGenerator) wrapper, it would be more convenient to provide direct overload shuffle(List<?> list, RandomGenerator rnd).
As we are here, it would also be nice to get rid of Collections.r static random generator which is used by default, and use ThreadLocalRandom instead. This will reduce the contention if shuffle() without explicit random generator is called from different threads concurrently.
-------------
Commit messages:
- 8294693: Add Collections.shuffle overload that accepts RandomGenerator interface
Changes: https://git.openjdk.org/jdk/pull/10520/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10520&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8294693
Stats: 128 lines in 2 files changed: 121 ins; 3 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/10520.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10520/head:pull/10520
PR: https://git.openjdk.org/jdk/pull/10520
More information about the core-libs-dev
mailing list