繁体   English   中英

从列表中采样并删除随机元素

[英]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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM