使用 java 中的流 write/create 具有 3 个唯一随机数的 int[] 的最短方法是什么?

What would be the shortest way to write/create an int[] with 3 unique random numbers using a stream in java?

我目前正在使用以下代码:

Map<Integer, Integer> numbersMap = new HashMap<>();
return IntStream.generate(() -> (int)(10 * Math.random() + 1))
                .filter(i -> numbersMap.put(i, i) == null)
                .limit(3)
                .toArray();

例如,我想知道是否有一种方法可以在不使用 HashMap 的情况下执行此操作,因为我只使用按键。

IntStream.generate(() -> (int) (10 * Math.random() + 1))
         .distinct()
         .limit(3)
         .toArray();

ThreadLocalRandom.current().ints(1, 10 + 1)
                           .distinct()
                           .limit(3)
                           .toArray();