现在有个map集合,key是星期,有周一和周二两个数据,value是周一和周二对应一个月内的日期集合,周一和周二分别都对应有4个日期,需要将这些数据都保存到航班集合中,航班对象内的航班号一样,对应的星期和日期不一样,写出这个java代码
时间: 2024-05-06 22:21:41 浏览: 130
对Map的key和value进行排序
好的,以下是Java代码实现:
```java
import java.util.*;
public class Flight {
private String flightNumber;
private String week;
private Set<Integer> dates;
public Flight(String flightNumber, String week, Set<Integer> dates) {
this.flightNumber = flightNumber;
this.week = week;
this.dates = dates;
}
public String getFlightNumber() {
return flightNumber;
}
public String getWeek() {
return week;
}
public Set<Integer> getDates() {
return dates;
}
}
public class Main {
public static void main(String[] args) {
Map<String, Set<Integer>> map = new HashMap<>();
map.put("周一", new HashSet<>(Arrays.asList(1, 8, 15, 22)));
map.put("周二", new HashSet<>(Arrays.asList(2, 9, 16, 23)));
List<Flight> flights = new ArrayList<>();
String flightNumber = "ABC123";
for (Map.Entry<String, Set<Integer>> entry : map.entrySet()) {
Flight flight = new Flight(flightNumber, entry.getKey(), entry.getValue());
flights.add(flight);
}
// 遍历结果验证
for (Flight flight : flights) {
System.out.println("航班号:" + flight.getFlightNumber());
System.out.println("星期:" + flight.getWeek());
System.out.println("日期:" + flight.getDates());
}
}
}
```
代码中,我们首先定义了一个 `Flight` 类表示航班对象,其中拥有航班号、星期和日期的属性,并提供了相应的 getter 方法。
接下来,在 `Main` 类中,我们创建了一个名为 `map` 的 `HashMap` 对象,用于存储每个星期对应的日期集合。然后,我们按照题目要求,遍历 `map` 集合,将其中的数据转化为 `Flight` 对象,并存储在 `flights` 集合中。
最后,我们遍历 `flights` 集合,打印出每个航班对象的相应信息,验证代码正确性。
阅读全文