像按以下格式展现内容
欢迎选择我的课程,让我们一起见证您的进步~~
不知道你的POJO物件叫啥,我自己取了一個名叫Project
@Getter @Setter @NoArgsConstructor public class Project { private Integer uud; private String regCode; private String projectName; private String projectAddress; private String companyName; // 设置分组的key,这里就是把你想要分组的key拼起来 public String groupKey(){ return this.projectName + "_" + this.projectAddress + "_" + this.companyName; } }
接著用Collectors.groupingBy方法就可以分組了,如下:
List<Project> projects = new ArrayList<>(); // 这里的key就是,宁江大院_成都市都江堰市蒲阳镇花溪村_成都文森电梯设备股份有限公司 Map<String, List<Project>> group = projects.stream().collect(Collectors.groupingBy(Project::groupKey));
這裡得到一個map,key就是剛拼起來的分組依據,value就是一個list,就是該分組下的集合
你這個展示是頁面上的吧...map已經分好群組了,你可以按照你頁面的規則循環map就可以了噻...我這裡只能根據我自己的創建的POJO對象來處理了
若是沒有辦法使用Java8,那就自己做一個類似的map的分類吧,類似下面的程式碼
List<Project> projects = new ArrayList<>(); Map<String, List<Project>> map = new HashMap<>(); for (Project project: projects){ String key = project.groupKey(); // 按照key取出子集合 List<Project> subProjects = map.get(key); // 若子集合不存在,则重新创建一个新集合,并把当前Project加入,然后put到map中 if (subProjects == null){ subProjects = new ArrayList<>(); subProjects.add(project); map.put(key, subProjects); }else { // 若子集合存在,则直接把当前Project加入即可 subProjects.add(project); } }
你的分組後不知道是不是不重複這些行例如SELECT projectName FROM 表名GROUP BY projectName; 然後查出來的是一個resultSet 你實例化一個ArrayList 然後循環遍歷add到list中就好了不知道我說的跟你想的一樣嗎?
Collection.sort(列表,新比較器(){
})
不知道你的POJO物件叫啥,我自己取了一個名叫Project
接著用Collectors.groupingBy方法就可以分組了,如下:
這裡得到一個map,key就是剛拼起來的分組依據,value就是一個list,就是該分組下的集合
你這個展示是頁面上的吧...map已經分好群組了,你可以按照你頁面的規則循環map就可以了噻...我這裡只能根據我自己的創建的POJO對象來處理了
若是沒有辦法使用Java8,那就自己做一個類似的map的分類吧,類似下面的程式碼
你的分組後不知道是不是不重複這些行例如SELECT projectName FROM 表名GROUP BY projectName; 然後查出來的是一個resultSet 你實例化一個ArrayList 然後循環遍歷add到list中就好了不知道我說的跟你想的一樣嗎?
Collection.sort(列表,新比較器(){
})