繁体   English   中英

如何从流中获取随机对象并将其返回

[英]How to get random objects from a stream and return it

我有一些来自Google的用户的列表,现在在流中,我说给每个Google用户都新建一个HRVacationUser(女巫是模型),然后给我(他们的电子邮件,一些随机日期,一些随机日期),该随机日期用于随机假期。 但是在那种情况下,我设置每个用户都处于空缺状态。 如何从Google用户那里获取随机用户并设置假期的随机日期,以便我可以在数据库中发出请求-给我这个正在假期的用户?

我的列表/ GoogleUser>的大小例如为80,我只想为随机用户设置空缺日期,然后向if(用户处于空缺状态返回'user')发出请求,并在数据库中进行请求以给我假期用户

public List<HRVacationUser> listVacationGoogleUsers(List<GoogleUser> allGoogleUsers){
        LocalDate date = LocalDate.now();
        List<HRVacationUser> collectHRUser = allGoogleUsers.stream()
                .map(user ->
                        new HRVacationUser(user.getPrimaryEmail(), date.minusDays(ThreadLocalRandom.current().nextInt(1,5)), date.plusDays(ThreadLocalRandom.current().nextInt(1, 5))))
                .collect(toList());
        return collectHRUser;
    }

您可以根据列表大小从列表中随机抽取一个项目:

import java.util.Random;

List<?> yourList = new ArrayList<>();
yourList.get(new Random().nextInt(yourList.size()));

您可以使用随机库

import java.util.Random;

随机元素的更多可能解决方案在这里 =)

暂无
暂无

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

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