今天项目要用到这个需求,想了一下,不重复就是哈希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);
}