Java集合分组
来源:互联网 发布:手机切图软件 编辑:程序博客网 时间:2024/06/11 19:41
最近遇到一个这样的需求:一个List集合中的对象,要按元素的部分属性进行分组;举个例子就是:一个Book对象,有author,name,price三个属性,现在要将一个list集合中的book对象中的作者和书名一样的对象放到一起,进行分组。
上述就是需求,搜罗一阵后找到解决方法,大致思路就是:
首先确定比较对象与比较方式,这里依然拿Book举例,比较对象就是List[Book],比较方法就是author+name值相同的两个Book对象为同组;
创建一个Map
//Book对象Book.javapublic class Book{ private String author; private String name; private String price; public void setAuthor(String author){ this.author = author; } public String getAuthor(){ return this.author; } public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setPrice(String price){ this.price= price; } public String getPrice(){ return this.price; }}//分组类GroupList.javapublic class GroupList { public static Map<String,List<Book>> group(List<Book> books){ Map<String,List<Book>> maps = new HashMap<String, List<Book>>(); if(books.size>0){ for(Book book : books){ //定义key值 String key = book.getAuthor()+book.getName(); //map集合中有这个key说明与其他对象的author和name相同,将该对象添加至key值对应的list集合中 if(maps.containsKey(key)){ maps.get(key).add(book); }else{ //map集合中尚未有次key,将key值与该对象一并存入map集合,自成一组 List<Book> books1 = new ArrayList<Book>(); books1.add(book); maps.put(key, books1); } } } return maps; }}
学无止境
阅读全文
0 0
- Java集合分组算法
- Java集合分组
- java 集合(List)元素分组
- java对list集合分组
- java在集合中对集合进行分组
- java集合list中的数据按照多个属性分组
- JAVA 集合 List 分组的两种方法
- JAVA 集合 List 分组的两种方法
- JAVA 集合 List 分组的两种方法
- 【集合分组】解题报告
- 集合函数与分组
- java 分组
- object c ,ios 集合分组
- List集合按数量分组
- 集合的最优分组问题
- mysql 集合函数,分组查询
- java中对list集合中的数据按照某一个属性进行分组
- java读取csv数据到list缓存,并对list集合分组统计结果
- Spring注解--第二天
- hibernate如何调用存储过程
- 关于Servlet
- 暑假集训 又见dfs和bfs
- 链式链表的C风格实现
- Java集合分组
- app内跳转其他app时设置plist信任
- codeforces 225B(Well-known Numbers) 扩展斐波那契数列 Java
- jsp基础
- 配置简单的嵌入式tomcat
- LeetCode学习笔记-Day1
- hdu 5726 GCD 解题报告
- Java并发编程:并发容器之CopyOnWriteArrayList
- canvas.save() canvas.restore() 作用