`
ilovejavaforever
  • 浏览: 163874 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

随机从List内获得几个值

J# 
阅读更多
	// 从List中随机出count个对象
	private List<Object> randomTopic(List<Object> list, int count) {
		// 创建一个长度为count(count<=list)的数组,用于存随机数
		int[] a = new int[count];
		// 利于此数组产生随机数
		int[] b = new int[list.size()];
		int size = list.size();

		// 取样填充至数组a满
		for (int i = 0; i < count; i++) {
			int num = (int) (Math.random() * size); // [0,size)
			int where = -1;
			for (int j = 0; j < b.length; j++) {
				if (b[j] != -1) {
					where++;
					if (where == num) {
						b[j] = -1;
						a[i] = j;
					}
				}
			}
			size = size - 1;
		}
		// a填满后 将数据加载到rslist
		List<Object> rslist = new ArrayList<Object>();
		for (int i = 0; i < count; i++) {
			Object df = (Object) list.get(a[i]);
			rslist.add(df);
		}
		return rslist;
	}
 
分享到:
评论
2 楼 ilovejavaforever 2010-08-11  
J-catTeam 写道
这样做的用处是?

你是问业务场景?
1 楼 J-catTeam 2010-08-11  
这样做的用处是?

相关推荐

    java list随机抽取元素的案例

    在Java编程中,有时我们需要从一个List集合中随机地抽取特定数量的元素。这个过程可以用于模拟随机选择、创建测试数据或实现某些算法中的随机行为。以下是对标题和描述中涉及的知识点的详细说明。 首先,`List`是...

    java 中如何从LIST 对象取值

    本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些概念,同时也会涉及到与List相关的常见操作。 ### 一、List的基本概念 在Java中...

    c# 数据组合 从一组数据中 返回组合的和等于某个值 的所有组合

    总结来说,"c# 数据组合 从一组数据中 返回组合的和等于某个值 的所有组合"这个问题可以通过递归和回溯技术在C#中实现。这个过程涉及到组合数学、算法设计以及递归编程,是计算机科学中的基础概念,对于提升编程能力...

    将一个整数S随机拆分为N个在min~max之间的整数.txt

    要解决这个问题,首先需要明确几个关键参数: 1. **S**:待拆分的整数。 2. **N**:拆分后的整数个数。 3. **min**:拆分后每个整数的最小值。 4. **max**:拆分后每个整数的最大值。 算法的核心思想是通过递归的...

    C# 人员随机分组抽签工具及源代码

    我们将讨论以下几个关键知识点: 1. **C#编程基础**:C#是微软公司推出的一种面向对象的编程语言,广泛应用于Windows桌面应用、游戏开发、Web服务等。VS2010是开发C#程序的集成开发环境(IDE),提供了丰富的功能,...

    红包的随机算法

    首先,我们需要明确几个关键点: 1. **红包总数**:即红包的数量,决定有多少人可以领取。 2. **红包总额**:所有红包金额之和,这是固定的。 3. **最小金额**:每个用户领取的红包金额不能低于这个值,例如0.01元...

    随机点名C#示例程序, 保证每轮点名所有学生都被点到一次

    这样就得到了一个随机排列的列表。 - **遍历并点名**:打乱顺序后,我们只需按照新的顺序逐个读取名字即可完成点名。在C#中,可以使用`foreach`循环来遍历`List&lt;string&gt;`。 4. **代码实现**:在C#中,可以创建一...

    C#开发的随机点名程序

    在程序的实现过程中,我们需要考虑以下几个关键点: 1. 数据输入:用户如何输入参与者的名单?可以提供一个文本框让用户直接输入,或者设计一个导入功能,允许用户从文件中批量导入名单。 2. 错误处理:程序需要...

    从n个数组中取出所有排列组合(Java实现)

    这个问题的主要目标是从给定的n个数组中找出所有的可能排列组合。Java作为一种强大的编程语言,提供了丰富的工具和方法来解决此类问题。下面我们将深入探讨这个问题的解决方案、相关算法以及Java中的实现细节。 ...

    随机抽取数名学生JAVA程序.docx

    该程序具有以下几个优点: * 随机抽取学生信息,解决了教学场景中的实际需求。 * 使用了JAVA语言的多种特性,如数组、集合、随机数生成等,实现了一个功能强大且易于使用的随机抽取系统。 * 程序的设计思路清晰,...

    JAVA中List的增删改查

    此外,List接口还有几个子接口和实现类,如ArrayList、LinkedList、Vector等,它们各有特点和适用场景。ArrayList基于动态数组实现,适合随机访问但插入和删除速度慢;LinkedList基于双向链表,插入和删除速度快但...

    VB编写随机点名回答问题.zip

    在这个随机点名程序中,可能会包含以下几个关键部分: 1. **数据存储**:学生的姓名通常会存储在一个数组或者列表中,VB提供了多种数据结构,如Array、ArrayList或List(Of T)等,用于存放这些信息。例如,可以定义...

    skiplist跳表C++实现

    接着,我们需要实现几个关键函数: 1. **初始化**:创建一个只有头节点的跳表,所有节点都指向NULL。 2. **插入**:根据元素的随机高度创建新节点,并调整各层的链接关系。插入过程中需要用到概率算法,如抛硬币决定...

    随机更换窗体界面的主题

    总结来说,实现“随机更换窗体界面的主题”主要涉及以下几个步骤: 1. 定义主题类,包含所需的颜色属性。 2. 创建多个主题实例并存储在一个列表中。 3. 在适当的时间点(如窗体加载事件)随机选择一个主题,并将其...

    C#做的随机点名程序

    程序的实现可能包括以下几个步骤: 1. 数据准备:存储参与点名的人员名单。这可以通过数组、列表或者其他数据结构实现,如List,将所有名字存储其中。 2. 创建Random对象:实例化Random类,作为生成随机数的来源。...

    自定义一个包含10个元素的一维int数组,并在声明语句中为其赋值;使用循环语句,随机选取该数组中的5个不重复的数据

    1. **Method1 - 基于索引选择**:我们可以在0到9的范围内生成随机索引,然后将选取的元素添加到结果列表,同时将已选取的元素从原始数组中移除,确保不会再次选取。 2. **Method2 - 位运算法**:这种方法通常用于...

    java中常用list方法,jdk8中的一些方法整理

    jdk7中list的一些功能用起来比较繁琐,比如去重,得通过好几层for循环遍历判断得到,而jdk8 中lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少...

    随机点名程序.zip

    程序设计上,通常包括以下几个关键部分: 1. 数据存储:点名名单需要事先输入并存储。开发者可以选择文本文件、数据库或者内存数据结构(如List)来存储学生姓名。考虑到简单易用,文本文件可能是最佳选择,因为它...

    集合概述set、List、Map

    在选择合适的集合类时,需要考虑以下几个方面: - **性能需求**:是否需要快速访问、插入或删除? - **元素排序**:是否需要元素排序? - **元素重复性**:是否允许重复元素? 通过对比不同集合类的特点和使用场景...

Global site tag (gtag.js) - Google Analytics