修改票务服务节假日数据和历年数据接口 #103
@ -4,58 +4,38 @@ import java.util.*;
|
|||||||
|
|
||||||
public class HolidayTree {
|
public class HolidayTree {
|
||||||
|
|
||||||
// 第一层: 年份 -> 节假日数据
|
// 第一层: 年份 -> 前五日数据
|
||||||
private Map<String, YearNode> yearMap = new HashMap<>();
|
private Map<String, YearNode> yearMap = new HashMap<>();
|
||||||
|
|
||||||
public void addHolidayData(String year, String holidayName, Integer day, Integer count) {
|
// 添加年份数据
|
||||||
YearNode yearNode = yearMap.computeIfAbsent(year, k -> new YearNode(year));
|
public void addHolidayData(String year, Integer day, Integer count) {
|
||||||
yearNode.addHolidayData(holidayName, day, count);
|
YearNode yearNode = yearMap.computeIfAbsent(year, k -> new YearNode());
|
||||||
|
yearNode.addDayData(day, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 第一层节点: 年份
|
// 第一层节点: 年份
|
||||||
static class YearNode {
|
static class YearNode {
|
||||||
private String year;
|
// private String year;
|
||||||
private Map<String, HolidayNode> holidayMap = new HashMap<>();
|
private Map<Integer, Integer> dayDataMap = new HashMap<>(); // 第几天 -> 数量
|
||||||
|
|
||||||
public YearNode(String year) {
|
// public YearNode(String year) {
|
||||||
this.year = year;
|
// this.year = year;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 添加某一天的数据
|
||||||
|
public void addDayData(Integer day, Integer count) {
|
||||||
|
// 只记录前五天的数据
|
||||||
|
if (day >= 1 && day <= 5) {
|
||||||
|
dayDataMap.put(day, count);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加节假日数据
|
// public String getYear() {
|
||||||
public void addHolidayData(String holidayName, Integer day, Integer count) {
|
// return year;
|
||||||
HolidayNode holidayNode = holidayMap.computeIfAbsent(holidayName, k -> new HolidayNode(holidayName));
|
// }
|
||||||
holidayNode.addHolidayDay(day, count);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getYear() {
|
public Map<Integer, Integer> getDayDataMap() {
|
||||||
return year;
|
return dayDataMap;
|
||||||
}
|
|
||||||
|
|
||||||
public Map<String, HolidayNode> getHolidayMap() {
|
|
||||||
return holidayMap;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 第二层节点: 节假日
|
|
||||||
static class HolidayNode {
|
|
||||||
private String holidayName;
|
|
||||||
private Map<Integer, Integer> holidayDays = new HashMap<>(); // 第几天 -> 数量
|
|
||||||
|
|
||||||
public HolidayNode(String holidayName) {
|
|
||||||
this.holidayName = holidayName;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 添加节假日的具体天数与数量
|
|
||||||
public void addHolidayDay(Integer day, Integer count) {
|
|
||||||
holidayDays.put(day, count);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getHolidayName() {
|
|
||||||
return holidayName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Map<Integer, Integer> getHolidayDays() {
|
|
||||||
return holidayDays;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,24 +45,22 @@ public class HolidayTree {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 测试打印树形数据
|
// 测试打印树形数据
|
||||||
// public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
// HolidayTree tree = new HolidayTree();
|
HolidayTree tree = new HolidayTree();
|
||||||
//
|
|
||||||
// // 添加一些示例数据
|
// 添加一些示例数据
|
||||||
// tree.addHolidayData("2023", "New Year", 1, 100);
|
tree.addHolidayData("2023", 1, 100);
|
||||||
// tree.addHolidayData("2023", "New Year", 2, 120);
|
tree.addHolidayData("2023", 2, 120);
|
||||||
// tree.addHolidayData("2023", "Spring Festival", 1, 200);
|
tree.addHolidayData("2023", 6, 200); // 这条数据不会被记录
|
||||||
// tree.addHolidayData("2024", "New Year", 1, 150);
|
tree.addHolidayData("2024", 1, 150);
|
||||||
//
|
tree.addHolidayData("2024", 3, 130);
|
||||||
// // 打印树形数据
|
|
||||||
// tree.getYearMap().forEach((year, yearNode) -> {
|
// 打印树形数据
|
||||||
// System.out.println("Year: " + year);
|
tree.getYearMap().forEach((year, yearNode) -> {
|
||||||
// yearNode.getHolidayMap().forEach((holiday, holidayNode) -> {
|
System.out.println("Year: " + year);
|
||||||
// System.out.println(" Holiday: " + holiday);
|
yearNode.getDayDataMap().forEach((day, count) -> {
|
||||||
// holidayNode.getHolidayDays().forEach((day, count) -> {
|
System.out.println(" Day " + day + ": " + count);
|
||||||
// System.out.println(" Day " + day + ": " + count);
|
});
|
||||||
// });
|
});
|
||||||
// });
|
}
|
||||||
// });
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user