|
java将列表内容重新分组
- <b style="font-size: x-large; background-color: rgb(255, 255, 255);">java将列表内容重新分组</b>
复制代码- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- public class Main {
- public static void main(String[] args) {
- // 假设jsonData是一个包含字典对象的列表
- List<Map<String, Object>> jsonData = new ArrayList<>();
- // 调用ChangeListDataToGroup方法
- Map<Object, List<Map<String, Object>>> groupedData = ChangeListDataToGroup(jsonData);
- // 打印分组数据
- for (Map.Entry<Object, List<Map<String, Object>>> entry : groupedData.entrySet()) {
- Object field_value = entry.getKey();
- List<Map<String, Object>> group = entry.getValue();
- System.out.println("Field value: " + field_value);
- System.out.println("Group: " + group);
- }
- }
- public static Map<Object, List<Map<String, Object>>> ChangeListDataToGroup(List<Map<String, Object>> jsonData) {
- // 创建一个空的Map用于存储分组数据
- Map<Object, List<Map<String, Object>>> groupedData = new HashMap<>();
- // 遍历JSON列表
- for (Map<String, Object> item : jsonData) {
- // 获取当前字典对象的某一字段值(这里以TitleColor字段为例)
- Object field_value = item.get("TitleColor");
- // 检查分组Map中是否已存在该字段值的键
- if (groupedData.containsKey(field_value)) {
- // 如果已存在,则将当前字典对象添加到对应的列表中
- groupedData.get(field_value).add(item);
- } else {
- // 如果不存在,则创建一个新的键,并将当前字典对象作为列表的第一个元素
- List<Map<String, Object>> group = new ArrayList<>();
- group.add(item);
- groupedData.put(field_value, group);
- }
- }
- return groupedData;
- }
- }
复制代码
|
|