从列表中抽取和删除随机元素
Sampling and removing random elements from a list
我写了一个随机抽取列表的一部分的方法。代码如下:
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);
}
该方法将原始列表、随机数生成器和要抽样的项目数作为输入。
现在我想从原始列表(称为图像)中删除选定的元素。如何做到这一点?
在旧列表中使用 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;
}
我写了一个随机抽取列表的一部分的方法。代码如下:
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);
}
该方法将原始列表、随机数生成器和要抽样的项目数作为输入。
现在我想从原始列表(称为图像)中删除选定的元素。如何做到这一点?
在旧列表中使用 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;
}