我在一个作业中被这个问题卡住了,作业中我必须“列出给定地铁线沿着的车站”。有两个哈希图:
private Map<String, Station> allStations = new HashMap<String, Station>(); // all stations, indexed by station name
private Map<String, SubwayLine> allSubwayLines = new HashMap<String, SubwayLine>(); // all subway lines, indexed by name of the line
我正在尝试调用“getStations()”方法,它是subwayLine类的一部分:
public List<Station> getStations(){
return Collections.unmodifiableList(stations);
}
在链接到按钮的地铁线路对象上:
public void listStationsOnLine(){
UI.clearText();
List<SubwayLine> subwayLines = new ArrayList(allSubwayLines.values());
for(SubwayLine s : subwayLines){
s.getStations();
}
}
然而,这什么也不做。有没有无论如何我可以返回沿着给定地铁线的车站?
2条答案
按热度按时间vnzz0bqm1#
你必须再次将你的数据保存到数组列表中:
omtl5h9j2#
方法中的
void
关键字意味着它不返回任何内容。您可能希望将其替换为List,并在方法的末尾返回它,例如请注意,您将遍历所有地铁线路,因此您的站点数组列表包含了沿着 * 某 * 条地铁线路的所有站点。因此,不是每条地铁线路的站点列表。此外,我还向数组列表调用添加了一个菱形操作符。这将自动生成一个
Collection<Station>
类型的数组列表。然而,制作收藏列表似乎不适合这里?您可能只想要<Station>
的列表。此外,调用
s.getStations()
似乎产生了地铁线s上的所有车站。你的问题的描述似乎是问如何实现这个方法。在你的问题中,你似乎更喜欢给定地铁线的车站列表。然后,这应该是你的方法的输入,如下所示: