【发布时间】:2014-12-13 12:50:36
【问题描述】:
您好,我有 3 个名为 trackNum、名称和持续时间的数组列表。 arraylist 的内容是连接的,即 trackNum 名称和持续时间的索引 1 是连接的。
所以我创建了第三个数组列表,其中填充了会被打乱的数字。然后这些数字将用作系统输出的索引。
我需要对列表进行洗牌,以便每个数组列表的内容仍然相互连接。这是我尝试过的。
public void shuffleTracks(String tracks){
for(int i = 0; i < name.size(); i++){
numbers.add(i);
}
Collections.shuffle(numbers);
Iterator<Integer> itr = numbers.iterator();
while (itr.hasNext()){
System.out.println(itr.next());
}
for(int a = 0; a < name.size(); a++){
System.out.println(trackNum[numbers[a]] ": " + name[numbers[a]] " " + duration[numbers[a]]);
}
}
我的所有错误都出现在最后一个系统打印行,错误提示
任何帮助都会非常有用。
【问题讨论】:
-
您可以创建一个包含所有需要信息的类,然后使用该类的实例随机排列单个数组列表。
-
@Jordão 是的,回答一下,给他看一个简单的
Track类。 -
与其对每个字段使用一个数组,不如让一个包含每个字段的类以及此类的数组/集合更有意义。
标签: java arrays loops arraylist shuffle