Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按其唯一ID获取跟踪以将其删除_Java - Fatal编程技术网

Java 按其唯一ID获取跟踪以将其删除

Java 按其唯一ID获取跟踪以将其删除,java,Java,我目前正在从事一个列车模拟项目,在执行delete track命令时遇到了一些问题 Her是命令的execute()方法: 这是我在课堂上登记所有东西的地方: private List<Track> tracks; private IdTracker trackIds; 但是,如果给定ID的轨迹不存在,我将返回什么?也许有一种比这样做更有效的方法。有人能帮我吗?您可以返回以表示具有给定id的曲目可能不存在: public Optional<Track> getTrack

我目前正在从事一个列车模拟项目,在执行
delete track
命令时遇到了一些问题

Her是命令的execute()方法:

这是我在课堂上登记所有东西的地方:

private List<Track> tracks;
private IdTracker trackIds;
但是,如果给定ID的轨迹不存在,我将返回什么?也许有一种比这样做更有效的方法。有人能帮我吗?

您可以返回以表示具有给定id的曲目可能不存在:

public Optional<Track> getTrack(int id) {
  for (Track track : tracks) {
    if (track.getId() == id) {
      return Optional.of(track);
    }
  }
  return Optional.empty()
}

您可以返回null或可选的.ofNullable(track)。
private List<Track> tracks;
private IdTracker trackIds;
public Track getTrack(int id) {
    for (Track track : tracks) {
        if (track.getId() == id) {
            return track;
        }
    }
}
public Optional<Track> getTrack(int id) {
  for (Track track : tracks) {
    if (track.getId() == id) {
      return Optional.of(track);
    }
  }
  return Optional.empty()
}
Map<Integer, Track> tracksById = ...

public Optional<Track> getTrack(int id) {
  return Optional.ofNullable(tracksById.get(id));
}