我有课
class Vehicle {
VehicleType type;
String regCode;
}
和枚举
enum VehicleType {
CAR,
BUS
}
如果我有一个具有这样值的车辆列表
[
{type: CAR, regCode: "AB11"},
{type: BUS, regCode: "XY12"},
{type: CAR, regCode: "AB22"},
{type: BUS, regCode: "AB22"}
]
如何使用一个流获取不同的类型和regCode?
我期待这样的事情:
Pair<Set<VehicleType>, Set<String>> result = {[CAR, BUS], ["AB11", "XY12", "AB22"]}
任何其他格式也可以。
将车辆一分为二是可行的,但结果不会很好。
我会进行一个简单的循环
public static Pair<Set<VehicleType>, Set<String>> Bisect(Iterable<Vehicle> vehicles)
{
final var types = new HashSet<VehicleType>();
final var regCodes = new HashSet<String>();
for (final Vehicle vehicle : vehicles)
{
types.add(vehicle.type);
regCodes.add(vehicle.regCode);
}
return new Pair(types, regCodes);
}