Map 对象可以存储不同类型的键值对象 以下介绍List集合的存储和遍历
public List<AgendaDto> packageAgendaMap() {
// 声明一个Map对象 存储List
Map<String, List<Agenda>> map = new LinkedHashMap<>();
// 查询List 该List集合中每一个对象包含一个相同的可以进行分组的值 如:Day1 和 Day2
// 根据这两个值作为Map对象的键名将List集合分组并存储到Map对象中
List<Agenda> all = agendaDao.findGroupByAgendaDay();
// 遍历List集合
all.forEach(agenda -> {
// Map存储 List集合
// 判断Map中是否存在以 agenda.getAgendaDay()为键名的List集合,
// 不存在则重新实例化List,存在即添加到List集合并放入Map中
List<Agenda> agendaList = map.get(agenda.getAgendaDay());
if (agendaList == null) {
agendaList = new ArrayList<>();
}
agendaList.add(agenda);
map.put(agenda.getAgendaDay(), agendaList);
});
// Map 遍历读取List并存放在 AgendaDto 对象中
List<AgendaDto> agendaDTOs = new ArrayList<>();
for (Map.Entry<String, List<Agenda>> entry : map.entrySet()) {
AgendaDto agendaDto = new AgendaDto();
// entry.getKey() 获取Map的key并付给agendaDto对象
agendaDto.setAgendaDay(entry.getKey());
// entry.getValue() 获取Map的value并付给agendaDto对象
agendaDto.setAgendaList(entry.getValue());
agendaDTOs.add(agendaDto);
}
return agendaDTOs;
}
Map遍历读取存放的对象 AgendaDto 声明
@Data
public class AgendaDto {
private String agendaDay;
private List<Agenda> agendaList;
}
本文介绍如何使用Map对象存储不同类型的键值对象,通过将List集合按特定属性分组,实现数据的有效管理和遍历。文章详细展示了如何查询List集合,根据集合中每个对象的共同属性进行分组,并存储到Map中。最后,通过遍历Map读取List,将其转换为AgendaDto对象,便于进一步的数据处理。
3258

被折叠的 条评论
为什么被折叠?



