Java 在数组列表中按标题显示所有DVD对象时遇到问题
所以我需要制作一个显示方法,按类别显示数组列表中的所有DVD对象 这正是该方法应该做的: displayDVDsInCategory–此方法应具有一个类别作为参数。信息技术 应返回包含指定类别中所有DVD的arrayList对象。如果给定类别中没有DVD,arrayList的大小将为零 按类别显示DVD-用户应能够以特定的方式显示所有DVD 类别请用户输入DVD类别。如果收藏中没有DVD 匹配请求的类别,向用户显示一条消息,说明没有 所需类别中的DVD。否则,显示DVD标题列表-每个标题一个 行-用于指定类别的DVD。仅显示标题,而不是所有标题 信息 这是我目前的方法,它不能正常工作,我做错了什么Java 在数组列表中按标题显示所有DVD对象时遇到问题,java,arraylist,methods,Java,Arraylist,Methods,所以我需要制作一个显示方法,按类别显示数组列表中的所有DVD对象 这正是该方法应该做的: displayDVDsInCategory–此方法应具有一个类别作为参数。信息技术 应返回包含指定类别中所有DVD的arrayList对象。如果给定类别中没有DVD,arrayList的大小将为零 按类别显示DVD-用户应能够以特定的方式显示所有DVD 类别请用户输入DVD类别。如果收藏中没有DVD 匹配请求的类别,向用户显示一条消息,说明没有 所需类别中的DVD。否则,显示DVD标题列表-每个标题一个 行
public DVD displayDVDsInCategory(String category)
{
for (int i=0;i<arraylist.size();i++)
{
if(category.equalsIgnoreCase(arraylist.get(i).getCategory())){
return arraylist.get(i);
}
}
return null;
}
从现在起,您只从函数返回一张
DVD
或null
。假设您的代码已经编译得很好,这对您来说应该很好-
public List<DVD> displayDVDsInCategory(String category) {
List<DVD> result = new ArrayList<>();
for (int i = 0; i < arraylist.size(); i++) {
if(category.equalsIgnoreCase(arraylist.get(i).getCategory())) {
result.add(arraylist.get(i));
}
}
return result;
}
公共列表显示类别(字符串类别){
列表结果=新建ArrayList();
对于(int i=0;i
您可以从问题中选择关键字,该问题告诉您的方法应如何显示为
displayDVDsInCategory–此方法应具有一个类别作为参数。它应该返回一个arrayList对象,其中包含指定类别中的所有DVD。如果给定类别中没有DVD,arrayList的大小将为零
因为它告诉您返回DVD对象的ArrayList,所以方法的返回值应该是ArrayList,而不是单个DVD对象:
public ArrayList<DVD> displayDVDsInCategory(String category) //return DVD list
{
ArrayList<DVD> newList = new ArrayList<DVD>();
for (DVD dvd : arraylist) //for each dvd in your current list
if(category.equalsIgnoreCase(dvd.getCategory())){ //if category matches
newList.add(dvd); //add to new list
return newList; //return DVD list
}
public ArrayList displaysdvdsincegory(字符串类别)//返回DVD列表
{
ArrayList newList=新的ArrayList();
for(DVD:arraylist)//对于当前列表中的每个DVD
if(category.equalsIgnoreCase(dvd.getCategory()){//if类别匹配
添加(dvd);//添加到新列表
return newList;//返回DVD列表
}
您可以创建一个新的空列表。在检查当前DVD列表时,如果其中任何DVD与给定类别匹配,请将其添加到新列表中
最后,您返回的是新列表,而不是单个DVD对象。因此,如果没有DVD匹配,您仍然返回一个空的ArrayList。我不确定是什么问题,但您的描述与代码不匹配。如果您要返回DVD列表,您的代码是错误的,它只返回类别与catego匹配的第一张DVD她以情妇身份去世 顺便说一句,如果您使用的是Java8,您可以对代码进行一些改进。请参阅下面的代码片段
public static List<String> displayDVDsInCategory(final String category) {
return arraylist.stream()
.filter(obj -> obj.equalsIgnoreCase(category))
.collect(Collectors.toList());
}
公共静态列表显示DVDSIN类别(最终字符串类别){
返回arraylist.stream()
.filter(对象->对象相等信号情况(类别))
.collect(Collectors.toList());
}
public static List<String> displayDVDsInCategory(final String category) {
return arraylist.stream()
.filter(obj -> obj.equalsIgnoreCase(category))
.collect(Collectors.toList());
}