前提・実現したいこと
要素数が100の配列にいろいろな自然数(最大1000)が入っています。
乱数を発生させて配列に入れてこれを小さいものから順にすべて表示したいです。
重複がある場合はひとつだけ表示します。
HashSetを使って重複を削除したいのですが上手くいかず、、、
初歩的な質問ですが、、分かる方いたらよろしくお願いします、、
試したこと
List<Integer> list = new ArrayList<>(); for(int i = 0; i <= 100; i++) { int random = (int)(Math.random() * 1000); list.add(random); System.out.println(list.get(i)); }
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
>HashSetを使って重複を削除したいのですが上手くいかず、、、
どう上手く行かなかったのかを追記していただくと、それに対する解が得られます。
それが難しいようなら、小さい順にならべて、出力する時に前と同じ値だったら出力しないようにすればいいんじゃないでしょうか。
list じゃなくて最初から HashSetにいれたらいいんじゃないでしょうか。
Setの中に100個数字をいれたいなら Setのサイズが 100になるまでランダムな値を突っ込み続ければよいのではないでしょーか
それか、どうしてもArrayListにいれなければいけないのであれば、
ArrayListに値が含まれていなければ add 、含まれているのであれば 次、というようにしたらよいのでは~
乱数で作った値をリストに入れて、それが含まれているかどうかの判定の仕方が分かりません、、、
ああ、完成品以外に用はないと。
判定の仕方がわからないなら検索すればいくらでもでてくるのでとりあえずやってみて、
またエラーが出るようなら質問したらいいとおもいます。
回答2件
あなたの回答
tips
プレビュー