这个方法在lambda表达式中应该是什么样子的?
public Book returnBook(int idBook){
for (Book b : records){
if(b.getIdBook() == idBook){
return b;
}
}
return null;
}
流媒体版本将主要由 filter
+ findFirst
return records.stream()
.filter(book -> book.getIdBook() == idBook)
.findFirst()
.orElse(null);
如果 records
是一个 Collection
,具体做法如下。
public Book returnBook(int idBook) {
return records.stream()
.filter(book -> book.getIdBook() == idBook)
.findFirst()
.orElse(null);
}
如果 records
是一个数组,操作如下。
public Book returnBook(int idBook) {
return Arrays.stream(records)
.filter(book -> book.getIdBook() == idBook)
.findFirst()
.orElse(null);
}