Generate random numbers without repeating a value: Difference between revisions
Content added Content deleted
m (Remove stray formatting text from code) |
|||
Line 602: | Line 602: | ||
=={{header|Java}}== |
=={{header|Java}}== |
||
<syntaxhighlight lang="java"> |
|||
import java.util.Iterator; |
|||
import java.util.LinkedHashSet; |
|||
import java.util.Random; |
|||
import java.util.Set; |
|||
</syntaxhighlight> |
|||
<syntaxhighlight lang="java"> |
|||
int[] randomList() { |
|||
/* 'Set' allows only unique values */ |
|||
/* 'LinkedHashSet' will preserve the input order */ |
|||
Set<Integer> set = new LinkedHashSet<>(); |
|||
Random random = new Random(); |
|||
while (set.size() < 20) |
|||
set.add(random.nextInt(1, 21)); |
|||
int[] values = new int[set.size()]; |
|||
/* 'Set' does not have a 'get' method */ |
|||
Iterator<Integer> iterator = set.iterator(); |
|||
int index = 0; |
|||
while (iterator.hasNext()) |
|||
values[index++] = iterator.next(); |
|||
return values; |
|||
} |
|||
</syntaxhighlight> |
|||
<pre> |
|||
8, 3, 2, 17, 11, 4, 6, 15, 20, 9, 14, 10, 5, 19, 18, 7, 12, 13, 1, 16 |
|||
</pre> |
|||
<pre> |
|||
6, 7, 20, 14, 1, 2, 10, 5, 13, 8, 4, 12, 16, 15, 17, 11, 18, 3, 19, 9 |
|||
</pre> |
|||
<br /> |
|||
<syntaxhighlight lang="java">import java.util.*; |
<syntaxhighlight lang="java">import java.util.*; |
||
Line 619: | Line 649: | ||
[19, 15, 10, 6, 17, 13, 14, 9, 2, 20, 3, 18, 8, 16, 7, 12, 1, 4, 5, 11] |
[19, 15, 10, 6, 17, 13, 14, 9, 2, 20, 3, 18, 8, 16, 7, 12, 1, 4, 5, 11] |
||
</pre> |
</pre> |
||
=={{header|JavaScript}}== |
=={{header|JavaScript}}== |