新エンドウ:
私は、ストリームを使用してランダムな8 int型を取得しようとしていますが、以下のコードに問題があるという明確な()を削除し、重複重複があった場合、私に8 INTを与えないであろうが。
ゴール:
し1.Get 8ランダムint型(無重複)
リストに2.Add
最初の7 INTを3.Sort。
私はCollections.sort(winlist.subList(0、6))を知っています。それだけストリームで行うことができるかどうかを確認しようとしてソートが、イムのための作品。
new Random()
.ints (8, 0, 64)
.distinct()
.sorted()
.forEach (Integer -> System.out.print (Integer + "\n"));
Socowi:
無限ストリームを使用して、それを制限した後、明確な操作。
new Random().ints(0, 64).distinct().limit(8).sorted().forEach(System.out::println);
これは、ソート順で範囲[0,64)から8整数の乱数を出力します。
最初の7つの数字をソートするには、7つの数字でストリームを使用し、伝統的に8番目の番号を生成するために容易になるだろう。あなたが本当にその中のすべての8つの数字と一つのストリームを持っているしたい場合は、2つのストリームを連結して1を作成することができます。
IntStream.concat(
new Random().ints(0, 64).distinct().limit(7).sorted(),
new Random().ints(0, 64)
).distinct().limit(8).forEach(System.out::println);