1. 需求分析

今天接到老大给的一个任务,让我做一个从一些流量中,按照模版进行采样。需要按照等比例和均分。

例如:

模版有A和B,总数量是10个,A有4个,B有6个。

假设现在需要采5个:

如果按照等比例分配:那么A要采2个,B要才3个。

假设现在需要采6个:

按照均分,A和B个才3个。

理想情况下,如果都是上面的这种当然好了,能够整除。但是很多情况下是不能整除的,但是也要保证达到采样的总数。

要求:

每个模版都要采到。

废话不多说,直接上代码。

2. 相关代码

/***

* 等比例采样

* @param map 存放数据,需要按照数量正序排

* @param total 总数量

* @param sampleTotal 需要采样的数量

*/

public static void allocateFlowByPercentage(Map map, Integer total, Integer sampleTotal) {

int newTotal = 0;

int addCount = 0;

int i = 0;

double basePercentage = sampleTotal / total.doubleValue();

Iterator> iterator = map.entrySet().iterator();

while (

java 抽样_Java实现采样,等比例分和均分相关推荐

  1. java 抽样_Java编程实现二项分布的采样或抽样实例代码

    本文研究的主要是Java编程实现二项分布的采样或抽样,下面是详细实现代码. 如下程序为n=100,p=0.9的二项分布采样,共采样10000次 package function; import org ...

  2. java 抽样_beta分布的采样或抽样(java程序)

    beta分布的采样或抽样(java程序) 标签:#beta分布采样# 时间:2017/05/12 15:47:04 作者:十七岁的雨季 关于beta分布的介绍,请看我的另外一篇博客:http://bl ...

  3. java 异常_Java 进阶之异常处理

    本文的主要内容分为 Java 异常的定义.Java 异常的处理.JVM 基础知识(异常表.JVM 指令分类和操作数栈)及深入剖析 try-catch-finally 四部分(图解形式).在深入剖析 t ...

  4. java数_java大数

    java大数还是很好用的! 基本加入: import java.math.BigInteger; import jave.math.BigDecimal; 分别是大数和大浮点数. 首先读入可以用: S ...

  5. java 代码转换_java字符编码转换过程(转)

    在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不通OS下,返回的东西不一样! String.getBytes(String decode)方 ...

  6. java试卷_Java测试题及答案(Java干货完整试卷)

    一.填空题.(每空2分,共计20分) 1. boolean类型的可能取值有(true )和(false). 2. 在JDK1.6中switch选择结构能判断的数据类型只能是(int )和(char). ...

  7. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  8. java语言变量分为_在Java语言中变量分为四种,分别是___________________________________________。_学小易找答案...

    [填空题]One day, at the registrar's office of a college, I noticed how parents are behaving with their ...

  9. 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)

    软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) 目录 软考中级(软件设计师)--面向对象程序设计(C++&Java二选一的题15分-目标3分) ...

最新文章

  1. Log控制台打印设置
  2. JAVA 算法练习(二)
  3. 利用正则表达式去除所有html标签,只保留文字
  4. Docker Swarm集群搭建
  5. foreach形式的for语句
  6. 让问答更自然 - 基于拷贝和检索机制的自然答案生成系统研究 | 论文访谈间 #02...
  7. python如何删除代码_Python如何删除除字母和数字之外的所有字符?(代码示例)
  8. Linux上的JAVA的IDE,在linux上运行的基于文本的强大java IDE
  9. SunPinyin: Linux下最好用的拼音输入法,MacOSX下也是不错的,还免费,可以不用买IMKQIM了...
  10. 计算机三角函数习惯原创的音乐,三角函数 UNIT版
  11. UVA10196 Check The Check【模拟+回溯】
  12. Android SwipeRefreshLayout 实现下拉刷新2
  13. int是终结符还是非终结符_什么是自动化的终结?
  14. 工作流实现自定义表单
  15. 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 序言
  16. 2019年年终总结(流水账)
  17. dns解析服务器原理,简述DNS服务器原理
  18. linux 3ds 模拟器下载,3DS模拟器电脑版
  19. bat文件打开一闪就没了_电脑上想要删除的顽固文件一直删除不了,一条命令帮你解决问题...
  20. 【GPT-3】第1章 大型语言模型时代

热门文章

  1. oracle的日期插入,ORACLE插入日期数据
  2. 虚拟机检测技术刨析(一)
  3. 破解WEP密钥过程全解 (下)
  4. 【三傻大闹宝莱坞】有感
  5. jquery js 字符串替换
  6. 使用java发送钉钉消息
  7. mysql中的字段 TEXT类型区别、用于存储比较大文本字段
  8. LRU(末位淘汰)算法
  9. 基于netty的在线聊天室,支持群聊和私聊——【一】基本功能介绍和nginx配置
  10. 金优商城:养肝等于养命!春季养肝得到好气色