我正在写一个优化交通系统的程序。我有一个65,000名乘客的ArrayList“passenger”,每个乘客都有一个小时属性(1-24),以及其他属性。我想要遍历ArrayList并根据乘客的小时创建24个新的ArrayLists,这样我就可以使用每个列表来查找每个小时所需的交通工具。
//example of what I want to do for passengers in each hour
if (passengers.get(i).getAge() == 'C') {
if (passengers.get(i).getTransportation() == 'S')
subwayCount += 0.75;
else if (passengers.get(i).getTransportation() == 'G')
goTrainCount += 0.75;
else if (passengers.get(i).getTransportation() == 'X')
streetCarCount += 0.75;
else if (passengers.get(i).getTransportation() == 'C')
busCount += 0.75;
else
goBusCount += 0.75;
}发布于 2019-03-25 08:31:05
您可以按小时属性进行分组,以获得如下所示的Map:
Map<Integer, List<Passenger>> hourToPassengersMap = passengers.stream()
.collect(Collectors.groupingBy(Passenger::getHour));像这样使用它:
List<Passenger> hour3Passengers = hourToPassengersMap.get(3);https://stackoverflow.com/questions/55329875
复制相似问题