You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调用ArrayList中SubwayLine对象的getStations()方法列出地铁站点?

实现指定地铁线路站点列表的解决方案

你的现有代码只是遍历所有地铁线路并调用getStations(),但两个关键环节缺失:

  • 没有针对指定线路进行操作,而是遍历了所有线路
  • 拿到站点列表后没有将内容输出到UI,自然看不到效果

核心解决思路

要实现「列出指定地铁线路的站点」,需要完成以下三步:

  1. 获取用户想要查询的线路名称(比如从UI输入控件读取)
  2. 根据线路名称从allSubwayLines中取出对应的SubwayLine实例
  3. 取出该线路的站点列表,并将站点信息展示到UI上

修改后的代码示例

假设你已有获取用户输入线路名的方法(比如UI.getInputText()),修改后的listStationsOnLine()方法如下:

public void listStationsOnLine() {
    UI.clearText();
    // 1. 获取用户指定的线路名称
    String targetLineName = UI.getInputText();
    
    // 2. 从map中获取对应的地铁线路
    SubwayLine targetLine = allSubwayLines.get(targetLineName);
    
    // 3. 校验线路是否存在,避免空指针
    if (targetLine == null) {
        UI.printText("不存在名为" + targetLineName + "的地铁线路");
        return;
    }
    
    // 4. 获取站点列表并输出到UI
    List<Station> stations = targetLine.getStations();
    UI.printText("线路" + targetLineName + "的站点列表:");
    for (Station station : stations) {
        // 假设Station类有getName()方法获取站点名,按需调整
        UI.printText("- " + station.getName());
    }
}

关键细节说明

  • 线路名称的获取:如果你的UI用下拉选择框而非输入框,直接拿选中的线路标识即可,核心是匹配allSubwayLines的key值
  • Station类的展示:根据你实际的Station类结构调整输出内容,比如如果有站点编号、换乘信息等,可一并拼接输出
  • 空值校验:必须判断targetLine是否为null,避免用户输入不存在的线路时触发异常

内容的提问来源于stack exchange,提问作者acidic231

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 12:40:30