Java 以相同顺序洗牌多个arrayList?
嗨,我有3个名为trackNum的数组列表,名称和持续时间。 arraylist的内容已连接,即trackNum名称和持续时间的索引1已链接 因此,我创建了第三个数组列表,其中填充了将被洗牌的数字。然后,这些数字将用作系统输出的索引 我需要洗牌列表,使每个数组列表的内容仍然连接。这就是我尝试过的Java 以相同顺序洗牌多个arrayList?,java,arrays,loops,arraylist,shuffle,Java,Arrays,Loops,Arraylist,Shuffle,嗨,我有3个名为trackNum的数组列表,名称和持续时间。 arraylist的内容已连接,即trackNum名称和持续时间的索引1已链接 因此,我创建了第三个数组列表,其中填充了将被洗牌的数字。然后,这些数字将用作系统输出的索引 我需要洗牌列表,使每个数组列表的内容仍然连接。这就是我尝试过的 public void shuffleTracks(String tracks){ for(int i = 0; i < name.size(); i++){
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]]);
}
}
public void shuffleTracks(字符串跟踪){
对于(int i=0;i
我在最后一个系统打印行上得到了所有错误,错误显示
任何帮助都将是巨大的 直接的答案是使用括号(
[index]
)代替数组访问来访问列表等集合
这就是:
numbers.get(a)
而不是:
numbers[a]
Java没有语法糖可以用括号代替
get
方法进行数组访问。你可以用所有需要的信息创建一个类,然后用该类的实例洗牌一个数组列表。@Jordão是的,回答并给他看一个简单的Track
类。而不是对每个字段使用数组,如果有一个包含每个字段的类以及该类的数组/集合,则更有意义。在构造字符串时,您还缺少一个+
运算符,请改用printf
。谢谢您的建议,但我仍然收到这些错误,我的老师要求使用ArrayList:/你当然应该对其他ArrayList
实例也这样做,而不仅仅是对数字
…我现在只收到了这些错误“表达式的类型必须是数组类型,但它解析为ArrayList”从你给我的代码中我看不出这是怎么可能的。如果一切都是正确的,那么代码中就不应该有任何数组,但听起来好像还有一两个数组(可能是返回类型?)。如果你必须,你可以在你给我们的问题下面更新你的代码,清楚地标记为编辑。。。