java集合随机抽取3个不重复元素

这里写图片描述

今天项目要用到这个需求,想了一下,不重复就是哈希Set集合特征,所以就手撸一下,如果兄弟你有其他方法可以来补充一下哈,我这个已经验证过,亲测可行噢!

 ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1,2,2,4,3,6,7,9,11,22,3,4));
       //随机对象
        Random random = new Random();
        int size = list.size();
        Set<Integer> totals = new HashSet<Integer>();
        ArrayList<Integer> resultList = new ArrayList<>();
        while (totals.size() < 3) {//获取3个
        //随机再集合里取出元素,添加到新哈希集合
            totals.add((int) list.get(random.nextInt(size)));
        }
        Iterator iterator = totals.iterator();
        while (iterator.hasNext()) {
            int next = (int) iterator.next();
            resultList.add(next);
        }

猜你喜欢

转载自blog.csdn.net/u013933720/article/details/80275878