gpt4 book ai didi

java - 计算 Java 中按字段分组的对象

转载 作者:行者123 更新时间:2023-11-29 06:53:14 25 4
gpt4 key购买 nike

我有一个 Flight 类和一个 Airport 类,它包含多个航类。

public class Flight {

String flightNumber;
String departureCity;
String departureCountry;
String departure;
String arrivalCity;
String arrivalCountry;
String arrival;
//etc...}

public class Airport {

String name;
String city;
String country;
LinkedList <Flight> flights;
//etc...}

我在大学里有一项任务,要为 Flight 类的每个 departureCountry 字段计算一个机场的航类数量。有没有算法可以做到这一点?我想通过这个参数(departureCountry)以某种方式对集合进行排序,但无法做出明确的决定。我将感谢你的帮助。

最佳答案

有一种使用 Java 8 流的巧妙方法:

import java.util.*;
import static java.util.stream.Collectors.*;

public class Main {
public static void main(String[] args) {
// I made constructor for departureCountry only to keep it simple
List<Flight> flights = Arrays.asList(
new Flight("USA"),
new Flight("UK"),
new Flight("CAN"),
new Flight("USA"),
new Flight("UK")
);

Map<String, Long> flightsPerCountry =
flights.stream()
.collect(groupingBy(Flight::getDepartureCountry, counting()));


System.out.println(flightsPerCountry);
// {CAN=1, USA=2, UK=2}
}
}

关于java - 计算 Java 中按字段分组的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40823370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com