Java 如何返回arraylist
问题是: 此方法将作者的姓名作为字符串参数,并返回该作者编写的所有书籍的arraylist。它使用一个while循环和一个interator,查找该作者编写的书籍(不区分大小写),并将它们添加到另一个arraylist中 到目前为止,我已经:Java 如何返回arraylist,java,arraylist,Java,Arraylist,问题是: 此方法将作者的姓名作为字符串参数,并返回该作者编写的所有书籍的arraylist。它使用一个while循环和一个interator,查找该作者编写的书籍(不区分大小写),并将它们添加到另一个arraylist中 到目前为止,我已经: public ArrayList<Book> getBooksByAuthor(String authorName){ Iterator<Book> it = books.iterator(); ArrayList bo
public ArrayList<Book> getBooksByAuthor(String authorName){
Iterator<Book> it = books.iterator();
ArrayList books = new ArrayList<String>();
while(it.hasNext()){
Book b = it.next();
if(authorName.equalsIgnoreCase(b.getBookAuthor())){
books.add(b.getBookTitle());
}
}
return books;
}
public ArrayList getBooksByAuthor(字符串authorName){
Iterator it=books.Iterator();
ArrayList books=新建ArrayList();
while(it.hasNext()){
Book b=it.next();
if(authorName.equalsIgnoreCase(b.getBookAuthor())){
books.add(b.getBookTitle());
}
}
还书;
}
我要问的问题是,这个问题到底要我做什么?返回arraylist是否意味着您需要重新创建这些对象?我不知道我在这里该做什么。。。提前感谢您的方法返回
ArrayList
变量被声明为ArrayList
rawtype
您的运行时类型是ArrayList
下定决心!!
那么:
public List<Book> getBooksByAuthor(String authorName){
return books.stream()
.filter(book -> authorName.equalsIgnoreCase(book.getBookAuthor()))
.collect(Collectors.toList());
}
公共列表getBooksByAuthor(字符串authorName){
还书。stream()
.filter(book->authorName.equalsIgnoreCase(book.getBookAuthor())
.collect(Collectors.toList());
}
您的方法返回ArrayList
变量被声明为ArrayList
rawtype
您的运行时类型是ArrayList
下定决心!!
那么:
public List<Book> getBooksByAuthor(String authorName){
return books.stream()
.filter(book -> authorName.equalsIgnoreCase(book.getBookAuthor()))
.collect(Collectors.toList());
}
公共列表getBooksByAuthor(字符串authorName){
还书。stream()
.filter(book->authorName.equalsIgnoreCase(book.getBookAuthor())
.collect(Collectors.toList());
}
您应该返回ArrayList
还是ArrayList
?您应该选择一个而不是两个。只需将b.getBookTitle
替换为b
,因为您要将书籍添加到数组中,而不是字符串,即它的标题。应该是谢谢您是否返回ArrayList
或ArrayList
?您应该选择一个而不是两个。只需将b.getBookTitle
替换为b
,因为您要将书籍添加到数组中,而不是字符串,这就是它的标题。它应该是谢谢您的