如何在不涉及第一个元素的情况下对数组进行洗牌?
how to shuffle an array without involving the first element?
嗨,我想打乱列表,索引 0 是固定的,但另一个索引一直在变化,我的列表有数据模型 class
sample =[Angelina Jolie.jpg, Ben Affleck.jpg, Bruce Willis.jpg, Michael Jackson.jpg, Miley Cyrus.jpg, Pharrell Williams.jpg, Rihanna.jpg, Ryan Gosling.jpg]
shuffled=[Angelina Jolie.jpg, Michael Jackson.jpg,Rihanna.jpg, Ryan Gosling.jpg, Miley Cyrus.jpg, Pharrell Williams.jpg, Ben Affleck.jpg, Bruce Willis.jpg ]
这是一个使用列表的简单示例:
String [] example = { "A", "B", "C", "D"};
List<String> items = Arrays.asList(example);
Collections.shuffle(items.subList(1, items.size()));
System.out.println(items);
要点是:您可以使用 sublist()
方法创建 view,然后对其进行随机播放。当然,您可以使用 List 接口的 toArray()
方法将您的列表转回数组。
使用 sublist() 创建一个新列表并对其进行洗牌,因为新的子列表由主列表支持,主列表将被洗牌到(第一个元素除外)
List<String> subList = list.subList(1, list.size());
Collections.shuffle(subList);
原始列表现在从元素 1 开始打乱顺序。
嗨,我想打乱列表,索引 0 是固定的,但另一个索引一直在变化,我的列表有数据模型 class
sample =[Angelina Jolie.jpg, Ben Affleck.jpg, Bruce Willis.jpg, Michael Jackson.jpg, Miley Cyrus.jpg, Pharrell Williams.jpg, Rihanna.jpg, Ryan Gosling.jpg]
shuffled=[Angelina Jolie.jpg, Michael Jackson.jpg,Rihanna.jpg, Ryan Gosling.jpg, Miley Cyrus.jpg, Pharrell Williams.jpg, Ben Affleck.jpg, Bruce Willis.jpg ]
这是一个使用列表的简单示例:
String [] example = { "A", "B", "C", "D"};
List<String> items = Arrays.asList(example);
Collections.shuffle(items.subList(1, items.size()));
System.out.println(items);
要点是:您可以使用 sublist()
方法创建 view,然后对其进行随机播放。当然,您可以使用 List 接口的 toArray()
方法将您的列表转回数组。
使用 sublist() 创建一个新列表并对其进行洗牌,因为新的子列表由主列表支持,主列表将被洗牌到(第一个元素除外)
List<String> subList = list.subList(1, list.size());
Collections.shuffle(subList);
原始列表现在从元素 1 开始打乱顺序。