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

时间:2018-07-24 08:23:09

标签: java random stream

我有一些来自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;
    }

2 个答案:

答案 0 :(得分:0)

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

import java.util.Random;

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

答案 1 :(得分:0)

您可以使用随机库

import java.util.Random;

针对随机元素here =)的更多可能的解决方案