0
点赞
收藏
分享

微信扫一扫

Java list 随机取N个值,最后结果返回list对象

敬亭阁主 2022-02-25 阅读 144

Java 随机取list对象的数据 ,并返回N个值,重复数据判断等。代码如下

  /**
     * 随机取值
     * @param list 随机取值对象
     * @param length 取值个数
     * @return
     */
    public static  List<String> randomValues(List<String>list,int length){
        Set<String>  randomSource=new HashSet<String>(list);
        //重复数据防越界
        if(randomSource.size()<=length){
            return new ArrayList<String>(randomSource);
        }
        List<String>randomResult=new ArrayList<>(randomSource);

        Set<String>  randomList=new HashSet<String>();
        Random random =new Random();
        while (randomList.size()<length){
            randomList.add(randomResult.get(random.nextInt(randomResult.size())));
        }
        return new ArrayList<>(randomList);
    }

    public static void main(String[] args) {
        //遍历取值
        randomValues( Arrays.asList("1","2","5","32","2","3","6","3","3"),5).forEach(System.out::println);
    }
举报

相关推荐

0 条评论