java - 如何使用特定参数搜索数组
问题描述
package Part01;
import java.util.ArrayList;
public class MP3Player implements iPlayer {
private ArrayList<Tune> soundData;
public MP3Player() {
soundData = new ArrayList<Tune>();
}
public boolean addTune(String title, String artist, int duration, Genre gen) {
return true;
}
public String[] getTuneInfo() {
return null;
}
public String[] getTuneInfo(Genre gen) {
return null;
}
}
如何为字符串参数指定的特定流派的 Tune 对象返回一个数组。
解决方案
如果你想返回一个 Tune 对象的列表,你需要做的第一件事就是将方法的返回类型更改为
List<Tune>
然后,在函数内部,一个简单的解决方案,而不是通过需要一些时间来理解的流 API,您可以编写如下代码:
public List<Tune> getTuneInfo(Genre gen){
List<Tune> aux = new ArrayList<>();
for (Tune t : soundData)
if (t.getGenre().equals(gen))
aux.add(t);
return aux;
}
请注意,您可能需要为 Genre 对象编写一个 equals 实现,我假设它已在别处定义。
推荐阅读
- r - 如何在 x 轴上从最小值到最大值(从 -1 到 0)绘制负值
- c++ - Boost.Asio 有时不会通知 TCP 保持活动超时
- visual-studio - 链接:致命错误 LNK1104:无法打开文件“glfw3.lib”
- c# - 在控制器之外获取当前用户
- javascript - 如何使用微调器在特定按钮上显示 axios 状态
- javafx - JavaFx TabPane 每个选项卡有一个视图,但数据不同
- java - org.postgresql.util.PSQLException:错误:“7”处或附近的语法错误
- wpf - 在 WPF 中双击时切换复选框状态
- ruby-on-rails - 如何创建一个样式正确且使用 Haml 和 Wicked-pdf 的 pdf_from_string 创建的 pdf
- arrays - 用于将带有对象的数组对象转换为枚举的脚本(打字稿)