我已经创建了一个28个链接id的列表,这些id是在一个巴士站编号的序列中,我想将这些id分配给具有相同id编号的巴士站。。我在写这样的代码:
//create transitStops
Map<String, Coord> busStopToCoordinate = getStopsCoordinates(); //contains the bus stop ids and coordinate.
for (Map.Entry<String, Coord> entry : busStopToCoordinate.entrySet()) {
String k = entry.getKey();
Coord v = entry.getValue();
TransitStopFacility stop = factory.createTransitStopFacility(Id.create(k, TransitStopFacility.class), v, false);
//stopLinkIds
final List<Id<Link>> stopLinkIdList = List.of(Id.createLinkId("5823673530001f"), Id.createLinkId("5145215680000f"), Id.createLinkId("317565150006f"),
Id.createLinkId("1504018850006f"), Id.createLinkId("5705260710001f"), Id.createLinkId("317565100018f"), Id.createLinkId("5637147670004f"),
Id.createLinkId("5606511090002f"), Id.createLinkId("5831437080006f"), Id.createLinkId("6568056490001f"), Id.createLinkId("6888270010007f"), //11
Id.createLinkId("6140720190001f"), Id.createLinkId("6598332090009f"), Id.createLinkId("6044866480001f"), Id.createLinkId("5637147760010f"), //15
Id.createLinkId("5418873140000f"), Id.createLinkId("295304080021f"), Id.createLinkId("6866052960004f"), //18-need to edit the link
Id.createLinkId("5542886270001f"), Id.createLinkId("281215370005f"), Id.createLinkId("5714501110001f"), Id.createLinkId("6036480960000f"), //22-traffic signal
Id.createLinkId("1504018850002f"), Id.createLinkId("6156254680000f"), Id.createLinkId("317565150042f"), Id.createLinkId("773640050003f"),
Id.createLinkId("3120319040006f"), Id.createLinkId("1912048840014f"));
//adding link ids to the stop. ~ Main Problem
for (int i = 0; i < stopLinkIdList.size(); i++) {
stop.setLinkId(stopLinkIdList.get(i));
}
\\adding stop to the transit schedule
schedule.addStopFacility(stop);
}
但是最后一个链接id被添加到所有站点。如何纠正这个错误?我正在添加输出的图像,以便更好地理解问题和问题
1条答案
按热度按时间whhtz7ly1#
你在问题中提到:
为此,应将此for循环替换为:
由此:
最好在代码的开头定义“stopLinkId列表”列表,而不是在foreach循环中