我写了一个方法,随机抽样列表的一部分。代码如下:
private List<String> selectImages(List<String> images, Random rand, int num) {
List<String> copy = new LinkedList<String>(images);
Collections.shuffle(copy,rand);
return copy.subList(0, num);
}
该方法将原始列表,随机数生成器和要采样的项目数作为输入。
现在我想从原始列表中删除所选元素(称为图像)。怎么办呢?
答案 0 :(得分:3)
在旧列表中使用removeAll,并将参数作为子样本。
private List<String> selectImages(List<String> images, Random rand, int num) {
List<String> copy = new LinkedList<String>(images);
Collections.shuffle(copy,rand);
List<String> sample = copy.subList(0, num);
images.removeAll(sample);
return sample;
}