首页 > 解决方案 > 如何打乱一组对象(在处理中)?

问题描述

我希望能够随机化对象数组的顺序,但我不知道如何在不丢失对象信息的情况下做到这一点 - 即随机数组中的对象在变量方面必须相同/字段到非随机数组。那么:随机化(用户定义的)对象数组的顺序的最简单方法是什么?

标签: javaarrays

解决方案


我们有 java.util.Collections.shuffle() 方法来打乱列表对象中的元素。

这是供您参考的工作示例

List<String> list = new ArrayList<String>();
            list.add("1");
            list.add("2");
            list.add("3");
            list.add("4");
            list.add("5");
            list.add("6");
            list.add("7");
            list.add("8");

                System.out.println("list before shuffle " + list);
                Collections.shuffle(list);
                System.out.println("list after shuffle for first time" + list);
                Collections.shuffle(list);
                System.out.println("list after shuffle for second time" + list);

输出:

list before shuffle [1, 2, 3, 4, 5, 6, 7, 8]
list after shuffle for first time[4, 6, 1, 3, 7, 5, 2, 8]
list after shuffle for second time[1, 5, 6, 7, 2, 8, 3, 4]

推荐阅读