使用List进行分组操作

news/2024/11/23 16:59:40/

普通对象列表进行分组

// 创建一个实体类
@Data
public class People {String name;    //姓名Integer age;    //年龄Integer sex;     //性别   0 - 女; 1 - 男Double height;  //身高Double weight;  //体重
}public class ListGroupTest {public static void main(String[] args) {List<People> list = new ArrayList<>();Random random = new Random();for (int i = 0; i < 10; i++) {People people = new People();people.setName("name" + i);people.setAge(random.nextInt(50));people.setSex(random.nextInt(1));people.setHeight(random.nextDouble());people.setWeight(random.nextDouble());list.add(people);}//根据性别分组Map<Integer, List<People>> collect = list.stream().collect(Collectors.groupingBy(People::getSex));}
}

map或jsonObject 列表进行分组

//list准备Map map1 = new HashMap();map1.put("schoolId",1);map1.put("gradeId",1);map1.put("city",1);Map map2 = new HashMap();map2.put("schoolId",2);map2.put("gradeId",2);map2.put("city",2);Map map5 = new HashMap();map5.put("schoolId",3);map5.put("gradeId",3);map5.put("city",3);List<Map> list1 = new ArrayList<>();list1.add(map1);list1.add(map2);list1.add(map5);//根据schoolId进行分组
Map<Object, List<Map>> mapGroup1 = list1.stream().collect(Collectors.groupingBy(o -> o.get("schoolId")));//根据schoolId和gradeId进行分组
Map<String, List<Map>> mapGroup2 = list1.stream().collect(Collectors.groupingBy(o -> "-"+o.get("schoolId")+ '-' + o.get("gradeId")));List<String> paramsList = new ArrayList();
paramsList.add("schoolId");
paramsList.add("gradeId");
paramsList.add("city");
//多字段进行分组	(StringUtils.join将列表拼接为字符串返回)
Map<String, List<Map>> mapGroup3 = list1.stream().collect(Collectors.groupingBy(o -> StringUtils.join(paramsList.stream().map(key -> "-" + o.get(key)).collect(Collectors.toList()), "")));

http://www.ppmy.cn/news/688579.html

相关文章

排序和分组

Python序列操作之进阶篇 转载 更新时间&#xff1a;2016年12月08日 09:31:59 投稿&#xff1a;daisy 我要评论 序列sequence是python中最基本的数据结构&#xff0c;本文是Python序列操作的进阶篇&#xff0c;本文先对序列做一个简单的概括&#…

微信公众号【用户分组管理-web页面】

人生的意志和劳动将创造奇迹般的奇迹。 Model层实体类: public class UserList{public string total { get; set; }public string count { get; set; }public userlistopenid data { get; set; }public string next_openid { get; set; }}public class userlistopenid{public …

分组、分类(分组汇总)

分类一&#xff1a; GROUP BY (PRODUCT,FLOOR)&#xff1b; COL1COL2countsumAA115AA214BB113 分类二&#xff1a; GROUP BY ROLLUP (Col1,Col2)&#xff1b; COL1COL2countsum备注AA115AA214A(null)29 (每一组COL2的综合) BB113B(null)13 (每一组COL2的综合) (null)(null…

2.分组列表

分组列表 sqlite3 /var/lib/murmur/murmur.sqliteserver_id,channel_id,parent_id,name,inheritaclinsert into channels values(1,2,0,2-分组,1); 来源张永光的博客

微信公众号平台如何批量给粉丝自动打标签分组

关于微信公众号平台批量给粉丝自动打标签分组功能&#xff0c;第三方工具微号帮提供了功能粉丝分组批量转移实现&#xff0c;可以在线给公众号所有粉丝自动分组打标签&#xff0c;公众号粉丝批量打标签分组&#xff0c;与公众号平台后台用户管理功能数据同步&#xff0c;公众号…

分组 (group)

题目描述&#xff1a; Yyx 给 KZB 出了一道题&#xff0c;就是给出n和m(m≤n)&#xff0c;叫 KZB 求出n个相同的杯子分m组&#xff0c;一共会有几种分法。 KZB 已经在失败中吸取了教训他特意叫你来帮帮他。 因为 Yyx 不喜欢去模1055之类的那太小了&#xff0c;所以他她要你对取…

List分组的两种方式

java8之前List分组 假设有个student类&#xff0c;有id、name、score属性&#xff0c;list集合中存放所有学生信息&#xff0c;现在要根据学生姓名进行分组。 public Map<String, List<Student>> groupList(List<Student> students) {Map<String, List&…

如何对微信订阅公众号用户进行打标签分组管理

为了实现微信订阅公众号用户进行打标签分组管理&#xff0c;第三方平台微号帮提供了粉丝分组批量转移功能实现&#xff0c;可以对微信公众号用户批量打标签分组&#xff0c;通过功能自动与公众号后台用户管理功能数据同步&#xff0c;可以设置按照指定条件提交用户打标签分组任…