java实现用户分组,java实现分组算法,根据每组多少人来进行分组
分组算法
需求:根据每组多少人来进行分组,人数少于每组人数时,只分一组;
分组时,最后一个组的人数<=每组人数的一半时,取消该组,将该组人数分配到其他组。
lg:26人的集合,每组4人,分6组,余2个人,这个2个人分到其他组里去;
27人的集合,每组4人,分7组,最后1组3人
代码实现如下:
public class test {
public static List> test(List list, Integer n) {//n代表每组多少人
// 求余数
int yushu = list.size() % n;
// 求分组数
int count0 = list.size() / n;
boolean flag = false;
if(yushu<=n/2){
flag=true;
}
List> data = new ArrayList>();
// 获取多余list
List sub = new ArrayList(list.subList(list.size() - yushu , list.size()));
// 遍历list到余数前
for (int i = 0; i < count0+1; i++) {
List ls = null;
if(flag){
if(i==count0){
break;
}
ls = new ArrayList(list.subList(i * n, i * n + n));
// 将余出的数据加入分组
if (i < sub.size()) {
ls.add(sub.get(i));
}
}else{
int endex = i * n + n;
if(endex>=list.size()){
endex=list.size();
}
ls = new ArrayList(list.subList(i * n, endex));
}
data.add(ls);
}
return data;
}
public static void main(String[] args) {
List list = new ArrayList();
for (int i = 0; i < 5; i++) {
list.add(i + "");
}
List> test = test(list, 5);
System.out.println("result:" + test);
}
}
java实现用户分组,java实现分组算法,根据每组多少人来进行分组相关推荐
- es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件
大家好,我是烤鸭: es中几种常见的查询场景,使用java读取es的json文件进行查询. es 中文使用手册. https://www.elastic.co/guide/cn/elasticsear ...
- Java+Jsp+Mysql实现简单在线图书推荐系统 个性化图书推荐系 java实现基于用户的协同过滤推荐算法 源代码下载 算法实现 Spring+Struts+Hibernate(SSH)开发框架
Java+Jsp+Mysql实现简单在线图书推荐系统 个性化图书推荐系统(基于用户的协同过滤推荐算法) 一.项目简介 1.开发工具和实现技术 MyEclipse10,jdk1.7,mysql5.5,t ...
- Java stream 处理分组后[升降序key]取每组最大
Java stream 处理分组后[升降序key]取每组最大 一. 需求 二. 整活 git仓库直达 如何让同事看不懂你写的代码 然后觉得你非常牛逼 这里用到了stream()与Lambda 需要有点 ...
- java 用户协同过滤算法_基于用户的协同过滤推荐算法java实现(UserCF)
UserCF的核心思想即为根据用户数据模拟向量相似度,我们根据这个相似度,来找出指定用户的相似用户,然后将相似用户买过的而指定用户没有买的东西推荐给指定用户,推荐度的计算也是结合了相似用户与指定用户的 ...
- 基于用户的协同过滤推荐算法java实现(UserCF)
UserCF的核心思想即为根据用户数据模拟向量相似度,我们根据这个相似度,来找出指定用户的相似用户,然后将相似用户买过的而指定用户没有买的东西推荐给指定用户,推荐度的计算也是结合了相似用户与指定用户的 ...
- java在线编程题_阿里笔试题(2017在线编程题)-- 数串分组 --Java实现
看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...
- 阿里笔试题(2017在线编程题)-- 数串分组 --Java实现
看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...
- Java高级用户指南-核心Java
原文地址:https://dzone.com/refcardz/core-java 本文采用Google翻译,有些地方数据类型被翻译成了中文,建议中英文对照一起看. 第1节 关于Core Java 此 ...
- Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题 HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...
- 基于Java的(SM2_SM3_SM4)国密算法, 加密解密工具类及测试demo
编写本文的同时借鉴了多位同学写的demo, 最后发现这位同学写的最详细, 放上该作者的链接, 原版链接: https://download.csdn.net/download/ererfei/9474 ...
最新文章
- 共享程序集和强命名程序集(3):强命名程序集的一些作用
- QCon讲师对对碰——洪小军采访梁宇鹏:就是爱Golang
- 单机结构 集群结构 分布式结构
- 2014-3-9 星期天[周末计划实施总结]
- 逐帧动画和补间动画的使用场景(二)
- Android系统,动态找出一个包下所有的类
- Linux内核模块的概念和基本的编程方法
- 【Qt】Qt5.9连接MySQl5.7(亲自测试成功)
- 俄罗斯方块之四 运动块的绘制实现
- 算法 --- 删除数组中重复项
- html中显示数据库中的一条数据,如何使用html表显示数据库中的数据
- 原生Android 侧滑菜单实践(部分)
- 牛客网 [编程题]数字和为sum的方法数
- 【视频】文本挖掘:主题模型(LDA)及R语言实现分析游记数据
- 订阅github release(官方+IFTTT)
- TCPIP详解Protocol 读书笔记(一) TCP协议概述
- android超大屏触摸设备,世界上最大的安卓Android平板电脑具有98英寸的屏幕
- Excel2013向被粘贴区域的非空单元格内粘贴数据
- java实现空心三角形
- SEGGER Embedded Studio 4.22 入门之:配合cubemx 快速建立ES工程