java生成一个1~n的随机数序列,要求生成初始序列,保证序列中的元素值不重复,当增加或删除一个元素的时候,使序列元素值动态更新。
时间: 2023-06-13 11:02:11 浏览: 333
可以使用Java中的ArrayList来实现这个功能。可以先生成一个包含1到n的整数的序列,然后将其随机打乱。可以使用Collections.shuffle()方法来实现打乱序列。
```java
import java.util.ArrayList;
import java.util.Collections;
public class RandomSequence {
private ArrayList<Integer> sequence;
public RandomSequence(int n) {
sequence = new ArrayList<Integer>();
for (int i = 1; i <= n; i++) {
sequence.add(i);
}
Collections.shuffle(sequence);
}
public void add(int num) {
if (!sequence.contains(num)) {
sequence.add(num);
}
}
public void remove(int num) {
sequence.remove(Integer.valueOf(num));
}
public void printSequence() {
for (int num : sequence) {
System.out.print(num + " ");
}
System.out.println();
}
public static void main(String[] args) {
RandomSequence rs = new RandomSequence(10);
rs.printSequence();
rs.add(11);
rs.printSequence();
rs.remove(5);
rs.printSequence();
}
}
```
在这个例子中,我们创建了一个RandomSequence类,它包含一个ArrayList变量,表示随机序列。构造函数接受一个整数n,生成包含1到n的随机序列。add()和remove()方法分别用于添加和删除元素。在add()方法中,我们首先检查元素是否已经存在于序列中,如果不存在,则将其添加到序列中。在remove()方法中,我们使用ArrayList的remove()方法来删除指定元素。printSequence()方法用于打印当前序列。在main()方法中,我们创建一个RandomSequence对象,并对其进行一些操作。
阅读全文