从指定的数组中,随机抽取一个数

int[] arrViewCount = new int[] { 1, 3, 5, 7, 9, 2, 4, 6, 8 };            
Random r = new Random();
int n = r.Next(0, arrViewCount.Length - 1);
Response.Write(arrViewCount[n].ToString());

### 实现方法 在 Java 中可以从数组随机选取指定量的元素,这可以通过多种方式完成。下面介绍几种常见的方式。 #### 使用 `java.util.Random` 和 `ArrayList` 通过创建一个列表并将数组转换成此列表形式,之后利用 `Random.nextInt()` 方法生成随机索引来获取元素并将其移除以确保不会被再次选中[^1]。 ```java import java.util.ArrayList; import java.util.List; import java.util.Random; public class RandomElementSelector { public static List<Integer> selectMultipleElements(int[] array, int count) { ArrayList<Integer> list = new ArrayList<>(); for (int item : array) { list.add(item); } Random rand = new Random(); List<Integer> selectedItems = new ArrayList<>(count); while(selectedItems.size() < count && !list.isEmpty()){ int indexToRemove = rand.nextInt(list.size()); selectedItems.add(list.remove(indexToRemove)); } return selectedItems; } } ``` 这种方法能够保证所选出的元素既无重复又完全随机。 #### 利用工具类实现随机选择多个不重复元素 对于更通用的情况,即不仅限于基本类型的数组而是适用于任何实现了 `List<E>` 接口的对象时,可以采用专门设计用于此类操作的工具函[^2]: ```java import java.util.Collections; import java.util.List; import java.util.Random; import java.util.stream.Collectors; public final class CollectionUtils { private static final Random RANDOM = new Random(); /** * @param src 据源 * @param chooseCount 要选择的量 */ public static <T> List<T> randomChooseElements(List<T> src, int chooseCount){ if(src == null || src.isEmpty()) throw new IllegalArgumentException("Source cannot be empty"); if(chooseCount <= 0) throw new IllegalArgumentException("Choose count must greater than zero"); Collections.shuffle(src); // Shuffle the source to ensure randomness. return src.subList(0, Math.min(chooseCount, src.size())).stream().collect(Collectors.toList()); } } ``` 这段代码首先会对输入列表进行洗牌处理从而打乱顺序,接着截取前若干项作为最终的选择结果;这种方式简单高效而且易于理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值