साथ अटक रहा Person
वर्ग है:लैम्ब्डा अभिव्यक्ति और मानचित्र
import java.util.*;
public class Person {
private String name;
Map<String,Integer> Skills=new HashMap<>(); // skill name(String) and level(int)
public String getName(){
return this.name;
}
public Map<String,Integer> getSkills(){
return this.Skills;
}
}
और App
वर्ग:
import java.util.*;
import java.util.Map.Entry;
import static java.util.stream.Collectors.*;
import static java.util.Comparator.*;
public class App {
private List<Person> people=new ArrayList<>(); // the people in the company
public Map<String,Set<String>> PeoplePerSkill(){
return this.people.stream().collect(groupingBy(p-> p.getSkills().keySet() //<-get
//^problem here
,mapping(Person::getName,toSet())));
}
}
App
कक्षा में PeoplePerSkill
विधि के अनुसार लोगों के नामों की Set
वापस जाने के लिए की जरूरत है कौशल। इसका मतलब है कि एक कौशल कई लोगों के स्वामित्व में हो सकता है।
मैं groupingBy(p->p...........,)
के साथ फंस मैं सिर्फ कौशल के नाम का String
नहीं मिल सकता है, मैं कई मायनों कोशिश की, लेकिन चीजों को वर्तमान में मेरे कोड लौटाता है Map<Object, Set<String>>