如何在不涉及第一个元素的情况下改组数组?

时间:2019-03-06 09:17:55

标签: java arrays random shuffle

嗨,我想改组列表,索引0是固定的,但另一个索引已更改,并且我的列表具有数据模型类

for k, v in cat_ac.items():
    pat = '|'.join(v)
    df_test['job'] = df_test['job'].str.replace(pat, k, regex=True)

2 个答案:

答案 0 :(得分:3)

这是一个使用列表的简单示例:

String [] example = { "A", "B", "C", "D"};
List<String> items = Arrays.asList(example);
Collections.shuffle(items.subList(1, items.size()));
System.out.println(items);

重点是:您可以使用sublist()方法创建视图,然后将其随机播放。当然,您可以使用List接口的toArray()方法将列表转换回数组。

答案 1 :(得分:2)

使用sublist()创建一个新列表,并对其进行混洗,因为新的子列表由主列表支持,所以主列表将被混洗到其中(第一个元素除外)

 List<String> subList = list.subList(1, list.size());
 Collections.shuffle(subList);

现在,原始列表从元素1开始向前拖移。