昨天的一面试题,有关map的,不知道怎么搞,请各位知道的帮我解答解答,谢谢

YKorey 2018-07-04 10:34:01
public class ceshi2 {

public class Person{
private String name;
private String language;
public Person(){

};


public Person(String name , String language){
this.name = name;
this.language = language;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public String getLanguage() {
return language;
}


public void setLanguage(String language) {
this.language = language;
}


@Override
public String toString() {
return "Person [name=" + name + ", language=" + language + "]";
}


}

@Test
public void test(){
List<Person> list = Arrays.asList(
new Person("xiong","php"),
new Person("peter","java"),
new Person("yan","html"),
new Person("iring","java"),
new Person("alex","kotlin"),
new Person("maxwell","java"),
new Person("biao","python")
);

Map<String,List<Person>>result = doGroup(list);
System.out.println(JSON.toJSONString(result));
}

private Map<String, List<Person>> doGroup(List<Person> list) {
Map<String,List<Person>> map = new HashMap<>();
//输入代码

return map;
}

}







请你实现方法doGroup,使得运行后test()方法控制台能输出以下json字符串:
{
"python":[{"language":"python","name":"biao"}],
"java":[{"language":"java","name":"peter"},
{"language":"java","name":"iring"},
{"language":"java","name":"maxwell"}],
"kotlin":[{"language":"kotlin","name":"alex"}],
"php":[{"language":"php","name":"xiong"}],
"html":[{"language":"html","name":"yan"}]
}
...全文
252 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
YKorey 2018-07-06
  • 打赏
  • 举报
回复
哈哈,谢啦,达到效果了
  • 打赏
  • 举报
回复
问题思路比较简单,将person类的language属性当做key,相同的值作为一个list存为value,因为person重写了toString,所以你也不需要自己做处理,以下是方法体,亲测可用
private Map<String, List<Person>> doGroup(List<Person> list) {
Map<String,List<Person>> map = new HashMap<>();
//输入代码
for (Person per : list) {
if (!map.containsKey(per.getLanguage())) {
map.put(per.getLanguage(), new ArrayList<Person>());
}
map.get(per.getLanguage()).add(per);
}
return map;
}
verejava 2018-07-04
  • 打赏
  • 举报
回复

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧