以下是一个生成不重复Java序列的示例代码:
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class NonRepeatingSequenceGenerator {
public static void main(String[] args) {
List sequence = generateNonRepeatingSequence(1, 100);
System.out.println(sequence);
}
public static List generateNonRepeatingSequence(int start, int end) {
List sequence = new ArrayList<>();
for (int i = start; i <= end; i++) {
sequence.add(i);
}
Random random = new Random();
for (int i = 0; i < sequence.size(); i++) {
int randomIndex = random.nextInt(sequence.size());
int temp = sequence.get(i);
sequence.set(i, sequence.get(randomIndex));
sequence.set(randomIndex, temp);
}
return sequence;
}
}
这段代码中,generateNonRepeatingSequence
方法接受起始和结束数值作为参数,并返回一个包含这个范围内所有不重复数值的序列。算法的基本思想是首先生成一个包含起始和结束数值的有序序列,然后使用随机数生成器将序列中的数值进行随机交换,从而实现不重复的序列。最后,打印生成的序列。
注意:这个方法生成的序列在每次运行时都会不同,因为交换的顺序是随机的。
上一篇:不重复的多个随机数序列
下一篇:不重复的加权随机抽样数组项