Android 洗牌列表/遍历数组项/将方法一分为二
我正在编写一个函数,其中图像通过无序列表显示Android 洗牌列表/遍历数组项/将方法一分为二,android,arrays,shuffle,Android,Arrays,Shuffle,我正在编写一个函数,其中图像通过无序列表显示 private int measurementCount = 0; public int createShuffledList(){ List<Integer> indexes = new ArrayList< >(); for (int i = 1; i <= MEASUEREMENTREPEATS; i++) { indexes.add(i); } Collectio
private int measurementCount = 0;
public int createShuffledList(){
List<Integer> indexes = new ArrayList< >();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
Log.d("QD", "Shuffled index: " + indexes);
int randomPrimeNumber = (int) indexes.get(measurementCount);
Log.d("QD", "Value from index: " + randomPrimeNumber);
primeindex = randomPrimeNumber;
Log.d("QD", "Vale of primeindex index: " + primeindex);
return primeindex;
}
是否可以将洗牌后的数组切换到下一个遍历数组项的方法
祝你一切顺利,谢谢你
tigercode是的,您可以这样做,您的方法(函数)需要返回整数列表
public List<Integer> createShuffledList(){
List<Integer> indexes = new ArrayList< >();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
Log.d("QD", "Shuffled index: " + indexes);
return indexes;
}
请注意IndexOutOfBoundsException
,您不能调用超出列表大小的索引
================更新
如何使用你的方法
public class ExampleShuffledList {
private static final int MEASUEREMENTREPEATS = 10;
List<Integer> yourList;
int measurementCount;
public List<Integer> createShuffledList(){
List<Integer> indexes = new ArrayList<>();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
return indexes;
}
public void someMethodWhereYouWantToUseList(){
yourList = createShuffledList();
measurementCount = 0; //you declere it somehow
Integer yourShuffledIndex = yourList.get(measurementCount); //just call get to get the index from list
}
}
公共类示例ShuffledList{
专用静态最终内部测量中心=10;
列出你的清单;
国际计量账户;
公共列表createShuffledList(){
列表索引=新的ArrayList();
对于(int i=1;i Hi Mij,但是我的getNextShufffledListItem()现在找不到“索引”-我是否必须将它们声明为整数(或类似的?)呢?这有点毫无意义。你可以调用索引。get(measurementCount)
但是你的索引必须是类变量,我更新了答案,请检查一下。
public List<Integer> createShuffledList(){
List<Integer> indexes = new ArrayList< >();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
Log.d("QD", "Shuffled index: " + indexes);
return indexes;
}
indexes.get(yourIndex);
public class ExampleShuffledList {
private static final int MEASUEREMENTREPEATS = 10;
List<Integer> yourList;
int measurementCount;
public List<Integer> createShuffledList(){
List<Integer> indexes = new ArrayList<>();
for (int i = 1; i <= MEASUEREMENTREPEATS; i++) {
indexes.add(i);
}
Collections.shuffle(indexes);
return indexes;
}
public void someMethodWhereYouWantToUseList(){
yourList = createShuffledList();
measurementCount = 0; //you declere it somehow
Integer yourShuffledIndex = yourList.get(measurementCount); //just call get to get the index from list
}
}