나는 최근에 BNP Paribas 은행의 인터뷰에 참석했습니다. 아래의 수집 기반 질문을 받았습니다.
Designation 클래스에 대한 참조를 포함하는 Employee 클래스가 있습니다.
List of Employees를 가져와 지정에 따라 그룹화 된 List of Employees를 반환하는 도우미 클래스를 작성하라는 요청을 받았습니다.
class Employee
{
Designation designation;
public Employee(Designation designation) {
this.designation=designation;
}
}
class Designation
{
String des;
public Designation(String des) {
this.des=des;
}
}
class Helper
{
public static List<List<Employee>> groupList(List<Employee> empList)
{
List<List<Employee>> empGroupList=new ArrayList<List<Employee>>();
for(Employee e:empList)
{
// more code goes here
}
return empGroupList;
}
}
Helper 클래스에 List of Designations가 있다고 가정하고 질문에 대답했지만 Interviewer는 Helper 클래스가 Generic이며 지정에 대한 지식이 없다고 말했습니다.
가장 쉬운 방법은 Map
내부적 으로를 사용한 다음 다음으로 변환 values()
하는 것입니다 List
.
public static List<List<Employee>> groupList(List<Employee> empList) {
Map<String, List<Employee>> map = new HashMap<>();
for(Employee e : empList) {
String designation = e.getDesignation();
List<Employee> list = map.get(designation);
if (list == null) {
list = new ArrayList<>();
map.put(designation, list);
}
list.add(e);
}
return new ArrayList<>(map.values());
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다