Given the definition of the Emp class:



and code fragment:

What is the result?

A.

Sam John Jim

B.

John Jim

C. A compilation error occurs at line n1.
D. A compilation error occurs at line n2.

題解

程式第32行,串流物件的filter方法可以保留符合條件的元素,collect方法可以將串流物件再轉成別的Collection物件,配合Collectors類別的toList方法可以將串流物件中的元素清單化,轉成List物件。至於元素在新的List物件中的順序就是原先集合物件的走訪順序,所以「Emp("John", 60)」在「Emp("Jim", 51)」之前。所以轉出來的List物件元素為,「Emp("John", 60), Emp("Jim", 51)」。

程式第33行,使用串流物件的map方法取代原本的元素。

程式第34行,輸出「John Jim 」。