Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Arraylist java中获取真值的计数_Java - Fatal编程技术网

如何在Arraylist java中获取真值的计数

如何在Arraylist java中获取真值的计数,java,Java,您好,我在这里是新手,Java编程也是新手。实际上,我的问题是我有一个Book类型的数组列表,在其中我存储Book name和title,并通过true或false显式设置OnLoan值,但我可以存储Book arrayList的true或false值,但我想计算arrayList中的true值的数量,比如3本书借用状态true后,我希望计数为3,我不知道如何从java中的ArrayList中获取计数,请帮助我,这是我的示例代码,我通过调用book类中的getOnLoanStatus来获取真值,

您好,我在这里是新手,Java编程也是新手。实际上,我的问题是我有一个Book类型的数组列表,在其中我存储Book name和title,并通过true或false显式设置OnLoan值,但我可以存储Book arrayList的true或false值,但我想计算arrayList中的true值的数量,比如3本书借用状态true后,我希望计数为3,我不知道如何从java中的ArrayList中获取计数,请帮助我,这是我的示例代码,我通过调用book类中的getOnLoanStatus来获取真值,该类包含真值和假值

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";
        } 
您可以使用,并检查每个元素是否是借来的[假设Book有一个方法onLoanStatus,指示它是否处于加载状态]

应该是这样的:

int count = 0;
for (Book b : booksHeld) { 
  if (b.getOnLoanStatus()) count++;
}
//now count holds the number of loaned books.
您可以使用,并检查每个元素是否是借来的[假设Book有一个方法onLoanStatus,指示它是否处于加载状态]

应该是这样的:

int count = 0;
for (Book b : booksHeld) { 
  if (b.getOnLoanStatus()) count++;
}
//now count holds the number of loaned books.

因为这个问题还没有Java 8的强制流答案:

long count = booksHeld.stream().filter(book -> book.getOnLoanStatus()).count();
略作修改


直截了当的方法:采用流,通过必须匹配布尔值true的谓词对其进行过滤,并计算流中的匹配项以进行过滤。

因为这个问题还没有Java 8的强制流答案:

long count = booksHeld.stream().filter(book -> book.getOnLoanStatus()).count();
略作修改


直截了当的方法:以流为例,按必须匹配布尔值true的谓词对其进行过滤,并计算流中与过滤器匹配的项。

您能清理示例并使其完整吗?有一些变量,比如bookshold,我可以假设它是一个列表,然后你会有评论说,比较isbn字符串和getIsbn方法,但是没有显示getIsbn方法。我真的很抱歉忽略注释和yes books holding是我的ArrayList对象,它包含Library和user类的书籍,我目前正在处理Library类忽略get isbn也很抱歉给您带来不便。您能清理示例并完成吗?有一些变量,比如bookshold,我可以假设它是一个列表,然后你会有评论说,比较isbn字符串和getIsbn方法,但是没有显示getIsbn方法。我真的很抱歉忽略注释和yes books holding是我的ArrayList对象,用于保存Library和user类的书籍,我目前正在处理Library类ignore get isbn,也很抱歉给您带来不便