您好我在这里新的,在Java中新的编程以及实际上我的问题是,我有类图书的数组列表中,我存储图书姓名和头衔,并通过真或假明确设置OnLoan价值,但我能够存储对于书的ArrayList真或假的价值,但我想数清我的ArrayList真正价值数说,如果已经借了3本书状态真的,我想为3我不知道怎么去,在Java中的ArrayList中算出来请大家帮我计这里是我的示例代码我通过从book类调用getOnLoanStatus()得到真正的值,该类包含true和false值
int borrowCount=0;
Book loanStatus = new Book();
boolean l = loanStatus.getOnLoanStatus();
//boolean to String conversion
System.out.println("value of l is" + l);
if(this.booksHeld.isEmpty())
{
return null;
}
for(int i=0;i<this.booksHeld.size();i++)
{
if(booksHeld.contains(l)) // compare the isbn string with getIsbn Method
{
borrowCount++;
}
}
if(borrowCount==0)
{
return "Libray: " + numberOfBooks() + "books " + " 0 book on Loan";
}
else
{
return "Libray: " + numberOfBooks() + "books " + borrowCount + "on Loan";
}
Run Code Online (Sandbox Code Playgroud)
您可以使用for-each循环,并检查每个元素是否被借用[假设Book有一个方法onLoanStatus()指示它是否在加载]
看起来应该是这样的:
int count = 0;
for (Book b : booksHeld) {
if (b.getOnLoanStatus()) count++;
}
//now count holds the number of loaned books.
Run Code Online (Sandbox Code Playgroud)
由于这个问题还没有 Java 8 的强制性流答案:
long count = booksHeld.stream().filter(book -> book.getOnLoanStatus()).count();
Run Code Online (Sandbox Code Playgroud)
源代码稍作修改。
直接方法:获取流,通过必须匹配布尔值 true 的谓词对其进行过滤,并为过滤器计算流中的匹配项。
| 归档时间: |
|
| 查看次数: |
4831 次 |
| 最近记录: |