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));
}