Ner*_*909 1 java java-8 java-stream
所以我试图仅使用Stream来计算ArrayList中的对象数.我正在使用stream.count但是只返回1,因为我的列表有多个对象.这是一些代码:
static ArrayList<Person> people = new ArrayList<>();
void loadCourses(){ // putting Person objects in the list }
public void countPeople()
{
Stream<ArrayList<Person>> stream1 = Stream.of(people);
long l = stream1.count();
System.out.println("Number of people loaded: " + l);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏:)
你使用的是a Stream<ArrayList<Person>>而不是a Stream<Person>.
你要:
long l = people.stream().count();
Run Code Online (Sandbox Code Playgroud)
你得到的1是因为只有一个ArrayList.
另请注意,您不需要流.你可以这样做people.size().