【发布时间】:2017-11-11 00:39:50
【问题描述】:
在标记重复或否决之前仔细阅读。
我的要求是洗牌对象的 Arraylist 保持列表数据相同只是改变位置。 我有一个 Dummydata 类型:
List<DummyData> dataList = new ArrayList<>();
我的 DummyData 类有三个字符串字段。
So adding some data for clarification:
dataList.add(new DummyData("Item1","Price1","Discount1"));
dataList.add(new DummyData("Item2","Price2","Discount2"));
dataList.add(new DummyData("Item3","Price3","Discount3"));
dataList.add(new DummyData("Item4","Price4","Discount4"));
dataList.add(new DummyData("Item5","Price5","Discount5"));
当我使用 Collections.shuffle(dataList);
输出是:
Item5 Price3 Discount4
Item2 Price1 Discount2
and some random output like this everytime.
我的预期输出是:
Item2 Price2 Discount2
Item5 Price5 Discount5
Item1 Price1 Discount1
只是位置应该改变列表数据不应该混乱。 所以我的问题是否可以使用 Collections.shuffle 来实现?
【问题讨论】:
-
什么是
dataList?它不能是 java.util.ArrayList,因为它没有接受 3 个参数的 add 方法。 -
将这三个项目分别封装在一个容器中。然后打乱这些容器的列表。
-
Eran 完全正确,您的代码无法按照您描述的那样运行,因此您没有描述您的实际问题,因此没有水晶球没有人可以帮助您。
-
在标记重复或否决之前仔细阅读。相同的结果
-
老实说,以 在标记重复或否决之前仔细阅读。 如果你不这样做,会惹恼很多人不仔细发帖。第一条评论突出了您的代码的问题,您似乎忽略了它并继续进攻。没什么好说的了。