生成器图像随机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器图像随机相关的知识,希望对你有一定的参考价值。

我有如何生成随机图像而不重复,作为一个例子驱动阵列15图像和7图像发送imageview但不重复。

 int[] img={ R.drawable.ima1,R.drawable.ima2,R.drawable.ima3,R.drawable.ima4,R.drawable.ima5,R.drawable.ima6,R.drawable.ima7,R.drawable.ima8,R.drawable.ima9,R.drawable.ima10,R.drawable.ima11,R.drawable.ima12,R.drawable.ima13,R.drawable.ima14,R.drawable.ima15};
    int [] game= new int[7];
Random numerRan = new Random();
  for (int i=0;i<game.length ;i++)
           {
               int num= numerRan.nextInt(17);
               int x= img[num];
               game[i]=img[num];

           }

            img1.setImageResource(juego[0]);
            img2.setImageResource(juego[1]);
            img3.setImageResource(juego[2]);
            img4.setImageResource(juego[3]);
            img5.setImageResource(juego[4]);
            img6.setImageResource(juego[5]);
            img7.setImageResource(juego[6]);
            img8.setImageResource(juego[7]);

当我按下按钮控制图像到分数rando生成的位置。我遇到的问题是图像重复。

我使用2个安排,第一个是保存所有图像,第二个是保留将分配imageview的随机图像。

答案

而不是使用int[]数组,而是使用List<Integer>,例如ArrayList<Integer>

这样,你就可以使用Collections#shuffle(),它会产生预期的效果。它将以非重复的方式随机置换您的列表。你以后要做的就是迭代那个List

有关详细信息,请参阅Collections文档。


您还可以将该数组转换为List,如下所示:

List<Integer> myList = Arrays.asList(img);

有关更多信息,请查看this question

以上是关于生成器图像随机的主要内容,如果未能解决你的问题,请参考以下文章

如何使用图像视图从图像数组中创建随机图像生成器?

生成器图像随机

阵列生成图像

在Kotlin中选择不同的随机图像

在图像文本文档中随机生成合成噪声

图像处理Matlab——生成随机点