用随机数填充数组android/java

用随机数填充数组android/java,java,android,arrays,random,int,Java,Android,Arrays,Random,Int,我在做以下事情时遇到了困难,不知道如何做:我想用随机数(1-40)填充生成的数组,并使其不会重复。另外,是否有一种方法可以让数组使用自己的值转到下一个值。假设我有测试[1]=“3”,然后测试[2]=“6”。是否有方法使其转到下一个值而不是调用test[2] 非常感谢List List=new ArrayList(); List<Integer> list = new ArrayList<Integer>(); for(int i = 0; i < 40;) {

我在做以下事情时遇到了困难,不知道如何做:我想用随机数(1-40)填充生成的数组,并使其不会重复。另外,是否有一种方法可以让数组使用自己的值转到下一个值。假设我有测试[1]=“3”,然后测试[2]=“6”。是否有方法使其转到下一个值而不是调用test[2]

非常感谢

List List=new ArrayList();
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < 40;)
{
    int rand = ((int)(Math.random() * 40)) + 1;
    if(!list.contains(rand))
    {
        list.add(rand);
        i++;
    }
}
对于(int i=0;i<40;) { int rand=((int)(Math.random()*40))+1; 如果(!list.contains(rand)) { 增加(兰特); i++; } }
或:

List List=new ArrayList();
对于(inti=0;i<40;i++)列表,添加(i);
集合。洗牌(列表);
List List=new ArrayList();
对于(int i=0;i<40;)
{
int rand=((int)(Math.random()*40))+1;
如果(!list.contains(rand))
{
增加(兰特);
i++;
}
}
或:

List List=new ArrayList();
对于(inti=0;i<40;i++)列表,添加(i);
集合。洗牌(列表);
你的最后三句话没有意义。可能重复的最后三句话没有意义。可能重复的
List<Integer> list = new ArrayList<Integer>();
for(int i = 0; i < 40; i++) list.add(i);
Collections.shuffle(list);