質問するログイン新規登録

回答編集履歴

3

修正

2017/04/20 01:00

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
6
6
 
7
- 連想配列を使う方法もあり、これもセットと同程度すが、特に関連付ける値がないのならセットでいいと思います。どちらも内部でハッシュを使っています。
7
+ 連想配列を使う方法もあり、これもセットと同程度に高速ですが、特に関連付ける値がないのならセットでいいと思います。どちらも内部でハッシュを使っています。

2

追記

2017/04/20 01:00

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  [重複しない乱数をつくるには](https://teratail.com/questions/66584)
4
4
 
5
- また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
5
+ また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。
6
+
7
+ 連想配列を使う方法もあり、これもセットと同程度ますが、特に関連付ける値がないのならセットでいいと思います。どちらも内部でハッシュを使っています。

1

追記

2017/04/20 01:00

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,3 +1,5 @@
1
1
  乱数の幅が狭いなら(たとえばトランプなど)、一度最小値から最大値までの値が入ったリストを作っておいて、それをシャッフルするのが高速です。
2
2
 
3
- [重複しない乱数をつくるには](https://teratail.com/questions/66584)
3
+ [重複しない乱数をつくるには](https://teratail.com/questions/66584)
4
+
5
+ また、幅が大きいならその都度乱数を作るより仕方ありませんが、一度生成した値を [Set](https://docs.oracle.com/javase/jp/6/api/java/util/Set.html) に入れておけばリストより高速に検索できます。よく使われる手法の中では、セット、ソート済みリストのバイナリ検索、リストの線形検索の順に高速です。