Java SE 8 Programmer II — Question 204

Given:
public class Emp {
String fName;
String lName;
public Emp (String fn, String ln) {
fName = fn;
lName = ln;
}
public String getfName() { return fName; }
public String getlName() { return lName; }
}
and the code fragment:
List<Emp> emp = Arrays.asList (
new Emp ("John", "Smith"),
new Emp ("Peter", "Sam"),
new Emp ("Thomas", "Wale"));
emp.stream()
//line n1
.collect(Collectors.toList());
fName and then ascending order of lName?
Which code fragment, when inserted at line n1, sorts the employees list in descending order of

Answer options

Correct answer: A

Explanation

The correct answer, A, uses `Comparator.comparing` with `reserved()` to sort fName in descending order and then uses `thenComparing` to sort lName in ascending order. Option B sorts fName in ascending order, which is incorrect. Options C and D focus on mapping and sorting fName only, neglecting the necessary sorting for lName.